EditText в Listview теряет фокус при нажатии на Android 4.x
Я знаю, что здесь много подобных вопросов, но я не могПолучите любое из предоставленных решений, работающих в простом примере приложения.
Проблема возникает, когдаsoftkeyboard показывается впервые. Как только это показано, только нажатиемредактировать текст снова делает его редактируемым.
Пробовал следующее:
android:windowSoftInputMode="adjustPan|adjustResize"
Это не решение каких-либо проблем. Кажется, что эта строка обязательна для изменения размера активности после появления программной клавиатуры. К сожалению, этотакже вызывает любоеEditTexts потерять фокус. Это, вероятно, кПосмотреть список сам получает фокус после процесса изменения размера. Поэтому я попробовал следующий обходной путь:
listView.setDescendantFocusability(ViewGroup.FOCUS_AFTER_DESCENDANTS);
Это всегда вызывает первоевидимый EditText чтоListView
содержит, чтобы получить фокус, что нежелательно. Второй EditText во втором ряду должен вместо этого получить фокус при нажатии, чего не происходит. Кроме того, если мне в конечном итоге удалось сфокусировать другой EditText, а не первый показанный (например, нажав 'Следующий' наsoftkeyboard
), первый видимый получит фокус после того, как клавиатура будет отклонена, а ListView снова уменьшится до своего полного размера.
Я пробовал несколько других вещей, таких как перехватonFocusChange()
события для ListView, зная, какой EditText был нажат егоTouchListener
, Повторный запрос фокуса на этот определенный EditText также не привел к успеху.
ИспользуяScrollView
вместоListView
как предложено другими пользователями, это не вариант для соответствующего проекта.