В моем приложении есть действие по добавлению / удалению / редактированию записей внутри SortedMap
. Задание реализовано как расширение ListActivity
. Я реализовал пользовательский ArrayAdapter
для элементов коллекции.
Каждый элемент ListView
(соответствующий базовой записи) состоит из TextView
s, EditText
s и Button
для удаления самой записи. Макет примерно такой:
ListView
----------------------------------------------------
[TextView] [EditText] [TextView] [EditText] [Button]
----------------------------------------------------
[TextView] [EditText] [TextView] [EditText] [Button]
Моя цель - обработать ввод, который пользователь вводит в EditText
s, как только пользователь закончит редактирование, т. Е. Когда пользователь отошел от EditText
или пользователь нажал назад, чтобы закрыть экранную клавиатуру ,
Я пытался реализовать это, обрабатывая onFocusChanged
, чтобы обработать текст, видимый в EditText
. Однако этот метод не работает, метод onFocusChanged
вызывается очень часто и случайным образом, даже для невыбранных и неотредактированных EditText
с. Вероятно, это связано с этой статьей в блоге Android из этого вопроса StackOverflow .
Есть ли лучший способ сделать это?