Android ListView avec des éléments cliquables dans les lignes de problèmes persistants il provoque le défilement

StackOverflow https://stackoverflow.com/questions/4227424

Question

J'ai Internet à la recherche chalutage une réponse pendant plusieurs heures, mais je ne peux pas sembler trouver quelqu'un qui a été en mesure de résoudre ce problème.

J'ai un ListView qui utilise un adaptateur personnalisé. Une apparence de ligne comme celui-ci

text alt

La liste est remplie par un tableau. Tout fonctionne très bien.

Maintenant, je veux que le ImageView et ToggleButton de réagir aux clics, donc je Mettre en oeuvre le OnClickListener dans mon adaptateur, mettre la position des éléments dans la balise de chaque point de vue, et je leur mis onclicklistener à ce sujet.

fonctionne très bien, sauf que maintenant je ne peux pas utiliser le onListItemClick pour démarrer une activité pour l'article! OK, dis-je, je viens de faire la relativelayout tenant le texte au milieu il utilise le même onclicklistener. Fonctionne très bien. Tout est cliquable, et la vie est bonne.

SAUF! Maintenant, quand je fais défiler la liste, je ne peux pas « continuer » le rouleau simplement en jetant à nouveau. Cela provoque le défilement de l'arrêt, et je dois jeter une fois de plus pour l'obtenir à nouveau aller. Il semble que la cause onclick-thingy le mouvement fling à être interprété comme un robinet ou quelque chose (il ne déclenche pas la logique dans onClick).

Je sais que cela est possible simplement en allant à la liste de téléphone sur mon HTC Hero, qui a exactement le genre de mise en page et le comportement que je veux de mon application. Cette application semble même avoir le travail de onItemClickListener.

Alors, comment puis-je faire que la liste continue de défiler, et toujours être en mesure de cliquer sur le togglebutton, listitem et imageview? Je suis coincé sur toute la journée, et il me donne un mal de tête: (

Était-ce utile?

La solution

Une autre recherche rapide avant de rentrer chez, et je suis tombé sur ceci:

Comment tirer onListItemClick en ListActivity avec boutons dans la liste?

CodeFusionMobile mentionne définissant la propriété android:descendantFocusability de la mise en page de liste "blocksDescendants", et donc j'essayé de faire cela. Tout fonctionne comme prévu maintenant. Travaux, travaux scrolling de onListitemClicked, en cliquant sur les travaux de ToggleButton, en cliquant sur les œuvres de ImageView.

Juste pour rendre clair ... Dans la RelativeLayout mère, tout en haut de la row.xml, j'ai ajouté

android:descendantFocusability="blocksDescendants"
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top