我有一个RecyclerView
并单击它的项目需要一个新的Activity
. 有一个ViewPager
包含多个项目。按下后,我正在保存当前项目位置。ViewPager
我想要做的是当用户站在RecyclerView
.
问题
当项目的位置可见时,没有问题。我使用以下更改背景
view = layoutManager.findViewByPosition(Utils.ayat);
if(view != null) {
LinearLayout parent = (LinearLayout) view.findViewById(R.id.parent);
parent.setBackgroundColor(Color.GRAY);
}
但如果项目不可见,则什么也没有发生,我无法更改背景。
到目前为止我做了什么
- 试图滚动到一个位置,然后改变背景。
RecyclerView
滚动正确,但findViewByPosition
返回 null。 - 我相信根据我的观察(可能是错误的),在以编程方式滚动
RecyclerView
时,它被滚动到的位置将是它最后一个可见的项目。我试图这样做,但没有运气。 - 正如许多人所建议的那样,放置
Thread.sleep(100)
然后尝试获得位置。这也没有用。
注意:我不能这样做,onBindViewHolder
因为要突出显示的项目不是预定义的。