ExpandableListView développer uniquement sur un bouton spécifique?
bien im essayant de créer un ExpandableListView comme Spotify il le fait... Mais je n'ai aucune idée de comment désactiver le LinearLayout à agir comme un bouton (extension de la liste), j'ai créé une image qui doit décrire ce que j'aime. J'aime avoir la possibilité de gérer un clic sur le texte /image (parent) que des relations normales. Un clic sur le bouton droit devrait élargir la liste comme dans Spotify...
source d'informationauteur mkl
Vous devez vous connecter pour publier un commentaire.
C'est un peu vieille question, mais cette réponse pourrait aider quelqu'un.
Si vous voulez agrandir/réduire de groupe en cliquant sur des
Button
ou certains autresView
vous devez obtenir ce Bouton dansgetGroupView
méthode dans votre classe d'Adaptateur. Puis, dansonClick
méthode de votreButton
vous avez, que ce soit pour lancerparent
àExpandableListView
ou pour passer de la Liste de référence dans le constructeur lorsque vous créez de l'adaptateur.Je préfère la première approche. Voici le code, en supposant que vous avez un
TextView
et unImageView
qui est la flèche. J'ai ajouté l'évolution de la flèche de l'état.En outre, vous souhaitez désactiver/déplier dans
onGroupClick
auditeur.Il existe une autre méthode, mais assez mauvaise, c'est que vous copier l'ensemble des
Adapter
classe à l'intérieur de la classe où vous créezExpandableListView
et définirAdapter
. Mais ne pas le faire.Grave!!! 😉
C'est le onCreate de la ChannelList qui s'étend ListFragment. Il stocke les données et de générer une nouvelle Carte si le Fragment est appelé.
Sur la Carte j'ai le getGroupView Méthode qui ressemblent:
Donc si je m'inscris le ImageButton dans l'adaptateur, il va appeler le onClick de la carte. Mais dans le onClick, je ne sais pas quel groupe a cliqué... Si je ne vous inscrivez pas le bouton sur n'importe quel auditeur, il n'ira pas en appel de la onGroupClick de la ChannelList...
Pas trop de solution élégante, mais il m'a aidé:
J'ai conservé l'original groupIndicator. J'ai aimé le comportement, tel qu'il a été.
Sur le groupItem mise en page j'ai simplement bloqué l'espace vide de la vue, de sorte que l'original groupIndicator était encore cliquable:
Que furtivement dans le rappel de l'objet lors de la création ExpandableListAdapter et accroché onClick sur le "category_name" (pour les deux enfants et un groupe d'éléments)
Tout ce que vous avez à faire maintenant est d'initialiser correctement ExpandableListAdapter en maître fragment de classe