Android (Milestone/Droid): View.onkeyListener funktioniert nicht richtig?
Frage
Ich benutze ein einfaches EditText
und registrieren Sie eine View.OnKeyListener
. Einige GUI -Änderungen sollten vorhanden sein (in/out -Ansichten), wenn bestimmte Bedingungen für den EditView -Text gelten. Im Emulator funktioniert dies wie erwartet. Auf dem Motorola Droid/Meilenstein funktioniert der Hörer nur nicht, nur nicht
- Nach dem Drücken von DEL wird der Hörer zum ersten Mal und immer danach bezeichnet
- Bei der Aktivierung der Zahleneingabe funktioniert der Hörer korrekt
Hinweis: Ich habe die Vorschläge mit type_text_flag_no_sugestions deaktiviert und die IME -Aktion iME_ACTACT_GO verwendet, um eine Problemumgehung dafür zu haben (ansonsten konnte der Benutzer eine Anforderung nicht "starten").
Lösung
Fand einen besseren und arbeitenden Weg, um dies zu implementieren: Verwendung EditText.addTextChangedListener
mit einer TextWatcher
Klasse (und implementieren TextWatcher.onTextChanged(CharSequence s, int start, int before, int count)
), funktioniert perfekt auch auf dem Meilenstein/Droiden.
Andere Tipps
Textwatcher kann OnkeyListener nicht vollständig ersetzen. Wenn beispielsweise Ihr Textfeld leer ist, wie würden Sie diesen von Benutzer gedrückten Del -Taste erkennen? Oder was ist, wenn Sie überhaupt kein Textfeld haben und wichtige Ereignisse erkennen möchten?