Android - RecyclerView - 滚动到特定的textview

时间:2018-02-13 20:45:33

标签: android

在我的应用程序中,如果intent指定在那里滚动,我想滚动到RecyclerView中的特定TextView。最初的实现包括查看listView,查看其中的每个项目,直到找到与预期的TextView字符串匹配的字符串。我不知道如何为RecyclerView复制这个。我得到的最接近的是查看PreferenceGroupAdapter,但它似乎是一个受限制的类。

1 个答案:

答案 0 :(得分:2)

创建一个方法,返回适配器中TextView的位置。对于此示例,我创建了一个非常简单的RecyclerView.Adapter,只保留List<String> items并正在查找字符串"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);