如何遍历RecyclerView中的所有视图/项目?

时间:2018-06-20 11:43:40

标签: android android-recyclerview nullpointerexception recycler-adapter android-viewholder

我需要遍历RadioGroups中的所有RecyclerView

我尝试使用的代码:

for(int i=0;i<recyclerView.getAdapter().getItemCount();i++)
  {
     radioGroup = recyclerView.findViewHolderForAdapterPosition(i).itemView.findViewById(R.id.radio_group);
  }

但是findViewHolderForAdapterPosition(i)对于不在屏幕上的RadioGroup返回null,并给了我NullPointerException

我如何遍历所有这些人?

1 个答案:

答案 0 :(得分:2)

RecyclerView视图在滚动时根据需要创建/销毁。您不能依靠它们的可用性。

我假设您正在尝试检索选择状态。最好将其存储在适配器中的对象中,并在单击单选按钮时更新其值。

然后,您可以在适配器中实现getItem方法,该方法返回对象及其当前选择状态。