ListView et des Boutons à l'intérieur de ListView
Je veux afficher un Button
à l'intérieur de la ListView
.
L'objectif devrait être de cliquer sur le ListView
ligne ou sur le bouton.
Cliquez sur la ligne il montre plus d'informations.
Cliquez sur le bouton, il montre au fond plus de boutons.
Le même que l'application GMAIL.
Sur la droite il y a une case et en cliquant sur la case à cocher en bas, la barre de boutons s'affiche.
Mon problème est que après l'insertion d'un bouton dans la ListView
, le bouton n'est pas cliquable.
Si j'ajoute à la LinearLayout
à partir du bouton llButton.setClickable()
il fonctionne. Mais, seul le bouton. Le ListView
lui-même ne semble pas réagir aux clics plus!
J'ai essayé cet exemple.
La même question que ci-dessus...
- Avez-vous essayez d'utiliser le Menu Contextuel de la liste?
- this peut aider
- Oui, j'ai un menu contextuel, mais je veux ajouter une case à cocher trop.
- Peut-être que ma réponse sur ceci question peut aider.
- "Si j'ajoute à la
LinearLayout
à partir du bouton", s'il vous plaît corriger cette phrase. Je ne peux pas le comprendre.
Vous devez vous connecter pour publier un commentaire.
Si vous utilisez un Adaptateur personnalisé cliquez sur le Bouton à l'intérieur d'une ListView ne fonctionnera pas si vous devriez essayer d'utiliser le code suivant pour vérifier
OnItemClickListener
.Juste pour faire de ce clair – et personne ne semble avoir dit quelque chose d'aussi simple que tandis que l'on n'est pas autorisé à avoir un focusable bouton de la liaison avec l'affichage de la liste, il y a une solution beaucoup plus simple pour cela.
Accepté la réponse est donnée, vous devez toujours le faire que lorsque la configuration de l'écouteur de clics pour les éléments de liste, de sorte que n'est stupide que l'OP ne le savais pas.
Si vous utilisez une mise en page XML comme votre élément de la liste, il suffit de régler le bouton pour avoir l'attribut suivant et il sera la cause de l'élément de la liste à être cliquable ainsi:
android:focusable="false"
ImageButton
vous devez appelersetFocusable(false)
après la visibilité de changement.Ajouter la ligne ci-dessous à votre liste d'élément XML.
Alors votre élément de la liste sera comme ceci:
D'avoir l'événement sera déclenché lorsque le bouton ou l'élément de la liste est sélectionné, vous pouvez effectuer les opérations suivantes:
Vous manipulez seulement onItemClick:
Dans l'adaptateur de modifier le bouton pour ne pas être cliquable/peut recevoir le focus (ou le faire dans le fichier xml à la place):
Dans mon cas, j'ai dû ajouter cet attribut dans la liste :
Et dans l'adaptateur simplement ajouter écouteur de clics sur le bouton afficher.
Il est important de définir final les variables: