2017-10-13 4 views
0

Je dois obtenir une référence à une ligne spécifique dans mon recyclerView.Android - Obtenir la ligne à partir de RecyclerView.findViewHolderForAdapterPosition()

Je avais le faire comme ça

View row = recyclerView.childAt(position); 

puisque la méthode childAt() est basée sur la ViewGroup, une fois que la liste défile, les positions sont foiré. J'ai lu here J'ai dû utiliser recyclerView.findViewHolderForAdapterPosition() qui renvoie un ViewHolder.

Comment puis-je obtenir du ViewHolder au View avec lequel je dois travailler?

Répondre

1

Votre devrait utiliser findViewByPosition

findViewByPosition(int position)

Trouve la vue qui représente la position de l'adaptateur donné.

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

Cela a fonctionné pour moi, Merci. – Daniele

+0

plus heureux @Daniele heureux de vous aider –

0

Vous pouvez obtenir la vue de la ViewHolder en utilisant sa variable membre itemView public:

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