J'utilise une liste multiple dans mon application. Plus précisément, le simple_list_item_activated_1.Sélectionner/Désélectionner tous les éléments d'une liste
J'ai un peu de code, un bouton, qui va sélectionner tous les éléments listview. J'ai une logique disant que si tous les éléments sont déjà sélectionnés, désélectionnez tous les éléments.
Lorsque j'appuie sur le bouton la première fois, il sélectionne tous les éléments de la liste comme prévu. et quand j'appuie sur le bouton une deuxième fois il désélectionne tous les articles comme prévu.
Voici mon problème: Lorsque j'appuie sur le bouton une troisième fois, "selectedCount" est toujours égal à "childCount". Donc, évidemment, mon code n'entrera jamais dans l'instruction If.
Quelqu'un sait-il pourquoi cela se produit? ou peut-être il y a une meilleure façon de faire ce que j'essaye de réaliser?
int childCount = officerList.getChildCount();
int selectedCount = officerList.getCheckedItemPositions().size();
if(childCount != selectedCount){
for (int i = 0; i < officerList.getChildCount(); i++) {
officerList.setItemChecked(i, true);
}
}else{
for (int i = 0; i < officerList.getChildCount(); i++) {
officerList.setItemChecked(i, false);
}
}
}