2017-10-13 319 views
0

我需要获取对我的recyclerView中特定行的引用。Android - 从RecyclerView.findViewHolderForAdapterPosition()获取行

我以前做这样

View row = recyclerView.childAt(position); 

因为childAt()方法是基于ViewGroup,一旦列表滚动时,位置被搞砸了。

我读here我不得不使用recyclerView.findViewHolderForAdapterPosition(),它返回ViewHolder

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

回答

1

你应该使用findViewByPosition

findViewByPosition(int position)

查找代表给定的适配器的位置来看。

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

这为我工作,谢谢。 – Daniele

+0

非常欢迎@Daniele乐意帮助你 –

0

您可以使用它的公共itemView成员变量得到的ViewHolder的观点:

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