#android #android-layout #android-recyclerview
#Android #android-макет #android-recyclerview
Вопрос:
У меня есть два элемента, содержащих: EditText
внутри RecyclerView
.
Я хочу изменить фокус с одного элемента на другой, когда внутри него записывается текст EditText
. Я не могу сделать это сам по onBindViewHolder
ViewHolder
себе, потому что это приведет к:
java.lang.Исключение IllegalStateException: невозможно вызвать этот метод, пока RecyclerView вычисляет макет или прокрутку
Запрос или очистка фокуса EditText внутри onBindViewHolder не является хорошим подходом.
Эти два элемента находятся внутри RecyclerView
как два SearchViews
, которые логически связаны друг с другом. Если я внесу некоторые изменения в первый элемент, это повлияет на макет второго. Изменение фокуса по требованию — это то, что мне нужно делать часто. Но представления могут быть переработаны, поэтому ViewHolder
не всегда представляйте именно SearchView
то, на чем я хочу сосредоточиться в данный момент. Например, если один из элементов SearchView
не отображается на экране.
Комментарии:
1. В общем,
requestFocus()
должно работать нормально. Не могли бы вы опубликовать свой код адаптера RecyclerView.