你假设在简单的recyclerview中我有一些文本,我试图找到我如何在其中搜索文本并滚动到找到的文本位置,例如在简单的recyclerview中我有10行,在第4个位置上我有这个文本:Hello World我想滚动到第4个位置,该怎么做?
recyclerview
Hello World
5gfr0r5j1#
检查您的RecyclerView项目的文本,一旦你有一个匹配的你想要的文本,获得项目的位置和调用:
myRecyclerview.scrollToPosition(position);
gzszwxb42#
遍历适配器的数据列表并存储要搜索的项目的索引。然后,使用RecyclerView的scrollToPosition(y)方法和该索引滚动到特定项目的位置。
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
3条答案
按热度按时间5gfr0r5j1#
检查您的RecyclerView项目的文本,一旦你有一个匹配的你想要的文本,获得项目的位置和调用:
gzszwxb42#
遍历适配器的数据列表并存储要搜索的项目的索引。然后,使用RecyclerView的scrollToPosition(y)方法和该索引滚动到特定项目的位置。
uajslkp63#
我在stackoverflow上找到的变通方案,对我真的很有效
https://stackoverflow.com/a/57207024/6940711