Android - 从RecyclerView.findViewHolderForAdapterPosition()获取行

时间:2017-10-13 08:37:58

标签: android android-recyclerview android-viewholder

我需要引用recyclerView中的特定行。

我曾经这样做过

View row = recyclerView.childAt(position);

由于childAt()方法基于ViewGroup,因此一旦滚动列表,位置就会混乱。

我看过here我必须使用recyclerView.findViewHolderForAdapterPosition()来返回ViewHolder

如何从ViewHolder到我需要使用的实际View

2 个答案:

答案 0 :(得分:2)

您可以使用其公共itemView成员变量从ViewHolder获取视图:

RecyclerView.ViewHolder viewHolder = recyclerView.findViewHolderForAdapterPosition(position);
final View itemView = viewHolder.itemView;

答案 1 :(得分:1)

您应该使用 findViewByPosition

  

findViewByPosition(int position)

     

查找表示给定适配器位置的视图。

View row = recyclerView.getLayoutManager().findViewByPosition(YourPosition);