Android, где поставить код, который будет выполняться, когда ListView будет отображаться?

Я строю редактирование в месте listView. То есть пользователь просматривает список элементов TextView. Затем пользователь касается одного, указывая, что он хотел бы отредактировать его. Выбранный элемент теперь отображается как EditText, в том же ListView, что и другие элементы TextView.

После этого отображается программная клавиатура, но EditText фактически потерял фокус из-за всей перерисовки. У меня есть ручка на EditText в SimpleCursorAdapter.getView(), Но зовет EditText.requestFocus() бесполезно, если я не могу быть уверен, что на экране есть EditText.

В каком методе какого класса я смогу выполнить что-то вроде: getListView().findItemById(n).requestFocus();?

Большое спасибо.

1 ответ

Вы можете выполнить

 getInstrumentation().waitForIdleSync()

ждать всех событий пользовательского интерфейса.

Другие вопросы по тегам