0

我想滚动到特定的字符串或文本索引。我得到搜索文本位置,我想滚动或将屏幕中心聚焦到我的特定字符串RecyclerView

我尝试了很多方法但没有解决

现在我滚动到喜欢这个

LinearLayoutManager llm = (LinearLayoutManager) recyclerView.getLayoutManager();
llm.scrollToPositionWithOffset(row, position);

但它只滚动RecyclerView. 我需要滚动到特定的单词可以有人帮助我。谢谢你

4

2 回答 2

1

layoutmanager.scrollToPosition(position);

or

recycler.getLayoutManager().scrollToPosition(position)

于 2019-07-04T11:14:41.943 回答
0

创建一个返回该 TextView 在适配器中的位置的方法。对于这个例子,我创建了一个非常简单的 RecyclerView.Adapter,它只包含一个 List 项目并正在寻找字符串“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);
于 2019-07-04T10:04:32.790 回答