Android Recycler Просмотреть прокрутку до определенного слова
Я хочу прокрутить до определенной строки или индекса текста. я получаю положение для поиска текста и хочу прокрутить или сфокусировать центр экрана на мою строку в RecyclerView
Я пытался многими способами, но не решил
теперь я прокручиваю, как это
LinearLayoutManager llm = (LinearLayoutManager) recyclerView.getLayoutManager();
llm.scrollToPositionWithOffset(row, position);
но прокрутить только строку RecyclerView
, Мне нужно прокрутить до конкретного слова, может кто-нибудь мне помочь. благодарю вас
2 ответа
Layoutmanager .scrollToPosition(позиция);
или
recycler.getLayoutManager().scrollToPosition(позиция)
Создайте метод, который возвращает позицию этого TextView в вашем адаптере. Для этого примера я создал очень простой RecyclerView.Adapter, который просто хранит элементы списка и ищет строку "target".
private int getTargetPosition(RecyclerView recycler) {
MyAdapter adapter = (MyAdapter) recycler.getAdapter();
for (int i = 0; i < adapter.items.size(); i++) {
if (adapter.items.get(i).equals("target")) {
return i;
}
}
throw new AssertionError("target is guaranteed to be in the list");
}
После этого это так же просто, как вызов scrollToPosition():
int position = getTargetPosition(recycler);
recycler.scrollToPosition(position);