【问题标题】:Android RecyclerView scroll to specific wordAndroid RecyclerView 滚动到特定单词
【发布时间】:2019-07-04 09:47:56
【问题描述】:

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

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

现在我滚动到喜欢这个

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

但它只滚动RecyclerView 的行。我需要滚动到特定的单词 有人能帮我吗。谢谢

【问题讨论】:

    标签: android android-recyclerview android-scrolling


    【解决方案1】:

    layoutmanager.scrollToPosition(位置);

    recycler.getLayoutManager().scrollToPosition(position)

    【讨论】:

      【解决方案2】:

      创建一个方法来返回该 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);
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-12-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-12-28
        • 1970-01-01
        相关资源
        最近更新 更多