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

时间:2017-04-10 04:58:20

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

所以我有一个标准.makeArray(),它会收集帖子列表并将其显示给用户。我的问题是当用户进入活动时,我希望能够将焦点更改为特定帖子。

实施例。用户A看到他有通知某人喜欢他/她的帖子。他/她点击该通知,然后加载用户帖子的活动,然后焦点变为已经喜欢的帖子的位置。

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

现在我停留在postFocusPosition类需要调用的神奇方法,以实际将焦点更改为该项目位置!

希望有人可以帮助启发我改变焦点的魔术代码!

3 个答案:

答案 0 :(得分:5)

recyclerView.setAdapter(adapter);// set adapter on recyclerview
recyclerView.scrollToPosition(mSkipTo); //use to focus the item with index
adapter.notifyDataSetChanged();
mProgressDialog.dismiss();

答案 1 :(得分:0)

要获得流畅的滚动效果并避免recyclerview项的大小调整问题,可以使用

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

与“ scrollToPosition”一样,我也面临着recyclerview物品尺寸调整的问题。

注意:您可以在水平和垂直recyclerview中使用此方法。

答案 2 :(得分:0)

只需使用此

recyclerView.scrollToPosition(position);