Как установить фокус на конкретный элемент в списке.Android? - PullRequest
0 голосов
/ 02 августа 2011

У меня есть просмотр списка с edittext в каждой строке. Это для реализации списка дел. Когда пользователь находится во втором ряду и нажимает клавишу ввода, я хочу добавить строку и выделить новый ряд с включенной клавиатурой. Так что он может сразу начать печатать на новом ряду. Мне удалось зафиксировать нажатие клавиши в тексте редактирования, а затем добавить новую строку в адаптер и notifyDataSetChanged (), чтобы обновить представление списка. Но после этого я не смог перенести фокус на новый ряд. Идет к первому ряду, или иногда вообще не имеет фокуса, или иногда работает нормально.

Пожалуйста, дайте мне знать, если есть какие-то решения для этого. Или дайте мне знать, если я совершенно не прав, пытаясь получить представление списка для реализации списка задач / проверок. Спасибо за ваше время и советы.

Ответы [ 2 ]

2 голосов
/ 18 сентября 2013

Захват курсора из bindView() при нажатии кнопки и сохранение его, скажем, tempCursor.

После вызова notifyDataSetInvalidated() получить позицию из tempCursor и установить эту позицию в ListView.

    refreshList();

    listView.setSelection(tempCursor.getPosition());
0 голосов
/ 02 августа 2011

я не уверен, что это то, что вы ищете.

для выбора списка. Элемент есть этот setSelection, setSelectionAfterHeaderView, setSelectionFromTop .. Ссылка .

идля получения фокуса на просмотрах это запрос Focus .. Ссылка

...