2010-02-14 8 views
11

Dans l'adaptateur pour ListView, je renvoie un LinearLayout, dans lequel j'ajoute une Checkbox, un ImageView et un TextView. Cela construit fondamentalement un ListView, dans lequel chaque élément contient une case à cocher, un ImageView et un TextView. Cependant, la chose étrange est que si je n'ajoute pas la case à cocher, ListView reçoit l'événement onItemClick correctement, tant que j'ajoute la case à cocher, onItemClick de ListView ne sera jamais renvoyé, comme si la case à cocher mange tout l'événement OnClick passé à ListView.L'ajout d'un élément CheckBox à ListView l'empêche de recevoir ItemClick

Des idées comment puis-je résoudre ce problème? Je veux que l'utilisateur puisse cocher/décocher les cases à cocher et en même temps pouvoir cliquer sur ces éléments de ListView aussi bien s'ils cliquent sur la zone pour l'article ListView autre que la case à cocher.

Répondre

19

Définir tous les éléments focusable = "false"

+5

Merci jax, cela résout mon problème! Je viens de tester, en effet, je ne dois pas mettre tous les éléments focusable = "faux", seulement besoin de désactiver focusable sur la case à cocher. –

+0

Cela ne fonctionne pas pour moi, le CheckBox peut toujours être cliqué sur lui-même lorsque focusable est défini sur false. Des idées? – JMRboosties

+0

si c'est le cas allez à son GetView de votre adaptateur et setOnClick écouteur. et défini sur False. Chaque case à cocher @JMRboosties – gumuruh

Questions connexes