当前位置: 首页 > 知识库问答 >
问题:

将recyclerview的焦点更改为特定的项目位置?

文英达
2023-03-14

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

例如,用户A看到他收到一个通知,表示有人喜欢他/她的帖子。他/她单击该通知,它将加载用户帖子的活动,然后焦点将更改为用户喜欢的帖子的位置。

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

现在我被困在什么神奇的方法,我需要调用在RecycreView类实际上改变焦点到该项目的位置!

希望有人能在改变焦点的神奇代码行上帮助我!


共有3个答案

崔高远
2023-03-14

就用这个

recyclerView.scrollToPosition(position);
柯书
2023-03-14

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

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

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

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

越学博
2023-03-14
recyclerView.setAdapter(adapter);// set adapter on recyclerview
recyclerView.scrollToPosition(mSkipTo); //use to focus the item with index
adapter.notifyDataSetChanged();
mProgressDialog.dismiss();
 类似资料:
  • 我必须滚动到recyclerview中的特定项目。 首先,我需要通过匹配从活动传递给适配器的字符串来获取项的位置。然后聚焦到该项目的位置。 例如,在适配器中有一个存储了EventID的TextView,我将把一个字符串从activity传递给适配器,使其与EventID匹配,然后获取该项目的位置,并将焦点/滚动设置到该特定位置。我在适配器中定义了一个方法来获取项的位置,但我不知道如何从活动中调用它

  • 我需要将Woocommerce订单号从4位改为5位。我知道我可以用这个来做前缀或后缀 但是我怎样才能更改位数呢?

  • 我想更改我的Android项目的设置,这样源代码就不会从[project_name]/app/src中获取,而是可以将其设置为从外部文件夹中获取。 项目结构原因是我想要共享我的src文件夹,所以我想在我的本地计算机上的Dropbox文件夹下定位。 有没有办法在Android Studio改变一个Android项目的SRC文件夹的路径?(在《月蚀》中,这是可能的) 以下是在Eclipse中如何完成的

  • 我有一个清单,我在回收商的视图中展示了这一点 一些项目有蓝色背景和其他项目有灰色背景 我想编辑所选项目背景(所选项目表示已单击的项目) 这是我的适配器类

  • 问题内容: 聚焦输入字段时如何更改占位符的颜色?我使用此CSS设置默认颜色,但是如何更改焦点? 问题答案: 试试这个,这应该工作:

  • 问题内容: 我有一个RecyclerView,每个元素代表一个事件。我想让用户通过单击选择事件。选择后,事件和报告按钮将变为彩色: 进行点击之前的用户界面:点击此处。 用户界面执行单击后:单击此处。 这非常简单,并且据称有效。我为每个负责为项目着色的对象设置了一个,并在触发时触发了名为的拥有活动中的另一个事件,该事件负责更改按钮的状态。 但是,滚动浏览RecyclerView的项目时,其他不相关的