У меня есть edittext и listview в линейном макете. Предположим, что в списке всего 5 результатов, которые в настоящее время отображаются в списке. 10. Когда я просматриваю текст редактирования в списке, 5-й элемент в списке (5) Я полагаю, что он всегда был последним) получает фокус, а не первый элемент! Как мне это решить?
1) Создайте обработчик как поле в своей деятельности. Вот так:
private Handler myHandler = new Handler();
2) Когда вы создаете ListView, добавьте OnFocusChangeListener, как показано ниже.
myList.setOnFocusChangeListener(new View.OnFocusChangeListener() {
public void onFocusChange(View v, boolean hasFocus) {
if (hasFocus) {
myHandler.postAtFrontOfQueue(new Runnable() {
public void run() {
myList.setSelection(0);
}
});
}
}
});