Comme le titre dit, Si j'Override getItemViewType(int position)
dans l'adaptateur d'un RecyclerView:Que signifie renvoyer une valeur différente pour chaque position dans l'adaptateur RecyclerView getItemViewType()?
@Override
public int getItemViewType(int position) {
return position;
}
Est-ce que cela veut dire que je ne vais pas avoir des vues recyclés? Puisque cela signifie que j'ai un type de vue différent dans chaque position?
Si oui, est-ce équivalent à setIsRecyclable(true)
?
Je pose cette question parce que j'ai rencontré un problème avec les éléments RecyclerView mélangés et dupliqués dans un défilement sans fin. J'ai essayé getItemViewId()
pour retourner un identifiant unique, mais n'a pas fonctionné. Les deux seules façons, il est travaillé par setIsRecyclable(true)
et retour valeur différente pour chaque position de getItemViewType(position)
Il existe un problème sous-jacent que vous êtes en quelque sorte en train de travailler avec ces appels. Si vous avez besoin d'aide pour aller au fond des choses, je vous suggère de poster une autre question (si vous ne l'avez pas déjà fait) qui traite des éléments qui sont «mélangés et dupliqués». – Cheticamp