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);
Другие вопросы по тегам