Как я могу изменить фокус элемента внутри RecyclerView?

#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.