如何在RecyclerView中访问ViewHolder关于布局计算

时间:2017-03-13 16:47:05

标签: android android-recyclerview

我创建了RecyclerView并设置了正确的适配器和LinearLayoutManager。我可以在ViewHolder方法之外访问我的onCreate。在我对问题的研究过程中,为了访问ViewHolderLinearLayoutManager似乎必须先完成计算视图的位置,然后才能使用findViewHolderForAdapterPosition }或findViewHolderForLayoutPosition方法。

我想只修改我添加到RecyclerView的许多视图中的一个视图。

我目前正在尝试(并且失败)访问任何Activity生命周期方法(onCreateonStartonResume中的观看/视图持有者)。我看到LinearLayoutManageronLayoutCompleted方法,但我不确定如何在我的情况下使用它。

RecyclerView生命周期中的某个生命周期中,是否有权访问Activity内的视图或查看者,或以某种方式确定onLayoutCompleted何时被{LinearLayoutManager调用1}?还有另一种解决方法吗?

理论上我可以将所有视图添加到适配器内的列表中并以这种方式访问​​它,但这看起来并不那么干净。

1 个答案:

答案 0 :(得分:0)

尝试在适配器内部保留模型列表。如果您需要更改视图,只需更改模型并致电RecyclerView.Adapter.notifyItemChanged(int p)notifyDataSetChanged()