【问题标题】:Change the recyclerview's focus to certain item position?将recyclerview的焦点更改为某个项目位置?
【发布时间】:2017-09-05 00:43:33
【问题描述】:

所以我有一个标准的RecyclerView,它获取帖子列表并将它们显示给用户。我的问题是当用户进入活动时,我希望能够将焦点更改为特定的帖子。

例如。用户 A 看到他收到有人喜欢他/她的帖子的通知。他/她点击该通知,它会加载用户帖子的活动,然后焦点会切换到被蜜蜂喜欢的帖子的位置。

我使用意图将postID 传递给活动。然后我运行Recycler ViewonBindHolder 我尝试查看帖子的ID 是否与我通过意图发送的postID 匹配。如果是这样,我现在将活动的变量postFocusPosition 设置为该帖子的位置。

现在我被困在我需要在 RecyclerView 类中调用什么魔术方法才能真正将焦点更改到该项目位置!

希望有人能帮助我了解那些改变焦点的神奇代码行!

【问题讨论】:

标签: android android-layout android-studio android-recyclerview


【解决方案1】:

就用这个

recyclerView.scrollToPosition(position);

【讨论】:

    【解决方案2】:

    为了平滑的滚动效果和避免任何 recyclerview 项目的大小调整问题,您可以使用

    recyclerView.smoothScrollToPosition(itemposition); //you can get this position, from your adapter class through an interface method
    

    与“scrollToPosition”一样,我正面临 recyclerview 项目的调整大小问题。

    注意:您可以将此方法用于水平和垂直回收视图。

    【讨论】:

      【解决方案3】:
      recyclerView.setAdapter(adapter);// set adapter on recyclerview
      recyclerView.scrollToPosition(mSkipTo); //use to focus the item with index
      adapter.notifyDataSetChanged();
      mProgressDialog.dismiss();
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-10-31
        • 2018-08-27
        • 1970-01-01
        • 2016-03-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-10-11
        相关资源
        最近更新 更多