J'utilise un RecyclerView
où il y a un booléen impliqué dans getItemCount()
. Cette valeur booléenne contrôle la visibilité du dernier élément dans le RecyclerView
, un peu comme une vue plus chargée, mais légèrement différente. De temps en temps, la valeur de ce booléen change, ainsi le RecyclerView
saura s'il faut inclure le dernier élément.RecyclerView - nombre d'éléments de contrôle par booléen
Le code ressemble à ceci
@Override
public int getItemCount() {
return mItemArray.size() + (shouldShow ? 1 : 0);
}
Lorsque la valeur de shouldShow
est mis à jour, je ne suis pas appeler notifyDataSetChanged()
ou notifyItemChanged()
, mais le RecyclerView
obtient encore correctement mis à jour. Mais je crains que cela finisse par provoquer le plantage du RecyclerView
en raison d'une incohérence. Mes questions sont,
- utilise une valeur booléenne dynamique
getItemCount()
une bonne façon de contrôler la tailleRecyclerView
? - Devrais-je appeler
notify...()
lorsque la valeur de ce booléen change? - Est-ce que mon
RecyclerView
se bloque pour cause d'incohérence à cause de cela?
Nous vous remercions d'avoir répondu, mais que voulez-vous dire par «passer int int '? – katie
Je veux dire que getItemCount return int nous ne devrions passer que des valeurs int dans lesquelles vous passez 1 ou 0 basé sur la valeur booléenne c'est correct –