Android, где поставить код, который будет выполняться, когда ListView будет отображаться?
Я строю редактирование в месте listView. То есть пользователь просматривает список элементов TextView. Затем пользователь касается одного, указывая, что он хотел бы отредактировать его. Выбранный элемент теперь отображается как EditText, в том же ListView, что и другие элементы TextView.
После этого отображается программная клавиатура, но EditText фактически потерял фокус из-за всей перерисовки. У меня есть ручка на EditText в SimpleCursorAdapter.getView()
, Но зовет EditText.requestFocus()
бесполезно, если я не могу быть уверен, что на экране есть EditText.
В каком методе какого класса я смогу выполнить что-то вроде: getListView().findItemById(n).requestFocus();
?
Большое спасибо.
1 ответ
Вы можете выполнить
getInstrumentation().waitForIdleSync()
ждать всех событий пользовательского интерфейса.