Wie wird die Android EditText-Eingabe in einer ListView richtig verarbeitet?

In meiner Anwendung habe ich eine Aktivität zum Hinzufügen / Entfernen / Bearbeiten von Datensätzen in einemSortedMap. Die Aktivität wird als Erweiterung von @ implementierListActivity. Ich habe custom @ implementieArrayAdapter für die Sammlungsgegenstände.

JedenListView item (das einem zugrunde liegenden Datensatz entspricht) besteht ausTextViews,EditTexts und einButton, um den Datensatz selbst zu löschen. Das Layout sieht ungefähr so aus:

ListView
----------------------------------------------------
[TextView] [EditText] [TextView] [EditText] [Button]
----------------------------------------------------
[TextView] [EditText] [TextView] [EditText] [Button]

Mein Ziel ist es, die Eingaben zu verarbeiten, die ein Benutzer in das @ eingibEditTexts sobald der Benutzer die Bearbeitung beendet hat, d. h. wenn der Benutzer vom @ weg navigiert hEditText oder der Benutzer hat zurück gedrückt, um die Bildschirmtastatur zu schließen.

Ich habe versucht, dies zu implementieren, indem ichonFocusChanged, um den im @ sichtbaren Text zu verarbeitEditText. Diese Methode funktioniert jedoch nicht gut,onFocusChangedie @ -Methode wird sehr oft und zufällig aufgerufen, auch bei nicht ausgewählten und nicht bearbeiteten @ -MethodeEditTexts. Dies liegt wahrscheinlich andieser Artikel auf Android Blog davonStackOverflow question.

Gibt es einen besseren Weg, dies zu tun?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage