我创建了RecyclerView
并设置了正确的适配器和LinearLayoutManager
。我可以在ViewHolder
方法之外访问我的onCreate
。在我对问题的研究过程中,为了访问ViewHolder
,LinearLayoutManager
似乎必须先完成计算视图的位置,然后才能使用findViewHolderForAdapterPosition
}或findViewHolderForLayoutPosition
方法。
我想只修改我添加到RecyclerView
的许多视图中的一个视图。
我目前正在尝试(并且失败)访问任何Activity
生命周期方法(onCreate
,onStart
,onResume
中的观看/视图持有者)。我看到LinearLayoutManager
有onLayoutCompleted
方法,但我不确定如何在我的情况下使用它。
在RecyclerView
生命周期中的某个生命周期中,是否有权访问Activity
内的视图或查看者,或以某种方式确定onLayoutCompleted
何时被{LinearLayoutManager
调用1}?还有另一种解决方法吗?
理论上我可以将所有视图添加到适配器内的列表中并以这种方式访问它,但这看起来并不那么干净。
答案 0 :(得分:0)
尝试在适配器内部保留模型列表。如果您需要更改视图,只需更改模型并致电RecyclerView.Adapter.notifyItemChanged(int p)
或notifyDataSetChanged()
。