7
votes

Cochez la case Android ListView Sélectionner tout (désactiver / activer)

Je veux désactiver / activer toutes les cases à liste dans ListView. Infact Vous souhaitez obtenir tout comportement en cliquant sur la case à cocher TOP.

merci


0 commentaires

4 Réponses :


20
votes
for(int i=0; i < listView.getChildCount(); i++){
    RelativeLayout itemLayout = (RelativeLayout)listView.getChildAt(i);
    CheckBox cb = (CheckBox)itemLayout.findViewById(R.id.MyListViewCheckBox);
    cb.setChecked(true);
}
You need to edit this code to handle both enabling and disabling, but I hope you get the idea !Also, this only checks each checkbox, make sure you are returning an id or object from your list in order to send/save the data elsewhere.

5 commentaires

trié .. merci beaucoup abhinav .. très apprécié


Ce code crée un comportement étrange lorsque je vérifie tous les articles, puis décochez un élément. La solution de Thom Nichols est meilleure.


J'ai des boutons dans ma listeView. Lorsque cliquez sur un bouton en dehors de ListView, j'ai besoin de modifier l'arrière-plan de l'ensemble des boutons présents dans la liste de réception. J'ai utilisé votre code et j'ai eu une erreur. Comment y parvenir.


Cela vérifie que les éléments qui sont actuellement en vue. Donc, si vous avez une liste de réception avec plus d'articles que la vue peut afficher, tous les articles ne seront pas vérifiés. La réponse de Thom Nichols est en effet la solution appropriée.


Travailler comme charme



27
votes

C'est ce qui a finalement fonctionné pour moi, où j'utilise un adaptateur de curseur, pas seulement un ArrayListapter pour mes éléments de liste: xxx

list.getchDildCount ne fonctionne pas car il ne semble que compter ce qui a été dessiné immédiatement (pas tout ce qui est hors de l'écran), donc Childrencount peut seulement être 6 ou 8 éléments lorsque toute la liste est 100 éléments ou plus. Aussi, comme je l'ai dû utiliser list.setemchecked pour obtenir les éléments à "restez cochés" - au moins dans mon cas où mes éléments de liste étaient des instances de checkedtextview .


2 commentaires

Comment puis-je travailler avec des boutons comme celui-ci?


merci .. j'ai fait face à une triphable parce que l'enfant



0
votes

Il suffit d'ajouter un paramètre supplémentaire dans l'adaptateur comme xxx pré>

sur sélectionner tout bouton Cliquez sur l'écoute Ajouter ce code P>

if(chk) {
    blue_check.setVisibility(View.VISIBLE);
} else {
    blue_check.setVisibility(View.GONE);
}


0 commentaires

0
votes

Je pense que vous devez exécuter cette tâche à long terme sur le fil de l'interface utilisateur. Lorsque vous cliquez sur le bouton sur OnClickListener:

this.mHandler = new Handler();


0 commentaires