jKoeber.de | Entwicklung, Systeme, Programmierung und Umsetzung

Android mit setOnKeyListener

Ein neuer Eintrag für die Developer auf meiner Seite. Es dreht sich mal wieder um Android und dessen neue Möglichkeiten. Dank der virtuellen Tastatur kann man nun eingaben direkt auf dem Display tätigen und muss nicht jedesmal in die nervige Queransicht wechseln. Find ich mal ganz praktisch vorallem bei kleineren Anwendungen.

Aber die, die sich mit der “setOnKeyListener“  – Methode rumstreiten müssen und jedes mal zwei Actions ausgeführt bekommen wenn man z.b. auf KEYCODE_ENTER wartet. Hier die Lösung:

EditText textBox = (EditText) findViewById(R.id.textBox);
textBox .setOnKeyListener(new OnKeyListener() {
     public boolean onKey(View v, int key, KeyEvent event) {
          if(key == event.KEYCODE_ENTER && event.getAction() == 1) {
            Log.d("KEY_PRESSED","ENTER");
            startSearch(v);
          }
      return false;
     }
});

Ganz kurz und knapp:

Beim einfachen onKey Event werden jedesmal 3 Events ausgelöst. Einmal die Action der Taste und dann für “pressed” und “released” somit müsst ihr auch diese Events abfangen und auf eine gelöste oder gedrückte taste reagieren.

Das wäre dann dieser Part:

event.getAction() == 1

ich warte solange bis derjenige die Tase wieder los lässt.

Write a Comment

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

 

Essentials

Meta

Seiten

Profile

  • Johannes Köber
  • TwitterCounter for @jkoeber
  • Blogverzeichnis - Blog Verzeichnis bloggerei.de