在recyclerview中搜索Android并滚动到该位置

4xy9mtcn  于 2022-12-16  发布在  Android
关注(0)|答案(3)|浏览(158)

你假设在简单的recyclerview中我有一些文本,我试图找到我如何在其中搜索文本并滚动到找到的文本位置,例如在简单的recyclerview中我有10行,在第4个位置上我有这个文本:
Hello World
我想滚动到第4个位置,该怎么做?

5gfr0r5j

5gfr0r5j1#

检查您的RecyclerView项目的文本,一旦你有一个匹配的你想要的文本,获得项目的位置和调用:

myRecyclerview.scrollToPosition(position);
gzszwxb4

gzszwxb42#

遍历适配器的数据列表并存储要搜索的项目的索引。然后,使用RecyclerView的scrollToPosition(y)方法和该索引滚动到特定项目的位置。

uajslkp6

uajslkp63#

我在stackoverflow上找到的变通方案,对我真的很有效

myRecyclerView.scrollToPosition(position);
    new Handler().postDelayed(new Runnable() {
        @Override
        public void run() {
            myRecyclerView.smoothScrollToPosition(position);
        }
    }, 50); //sometime not working, need some delay

https://stackoverflow.com/a/57207024/6940711

相关问题