Question

Je suis en train de mettre une case à cocher dans ExpandableListView. Comment je fais ça? J'adresse BaseExpandableListAdapter et il faut mettre dans getGroupView ():

@Override
public View getGroupView(int groupPosition, boolean isExpanded, View convertView,
   ViewGroup parent) {
    View view = convertView == null ?
      context.getLayoutInflater().inflate(R.layout.onet_head, null) : convertView;
     ((TextView)view.findViewById(R.id.onetText)).setText(cats.get(groupPosition).value); 
    return view;
}

Notez que gonflé la mise en page? C'est là que je suis en train de TextView et CheckBox. J'ai remarqué que placer une case à cocher dans ma mise en page de la ligne du groupe désactive la fonctionnalité de ligne de groupe par défaut en cliquant sur la ligne fait une liste secondaire (enfant) apparaît. CheckBox fonctionne comme prévu, mais quand je clique en dehors du fait le cliquez est jamais détecté par CheckBox éther ou par OnGroupClickListener. Je pense que la mise CheckBox en ligne du groupe de cette façon interfère avec la détection d'événements / manipulation, mais à ce jour je ne suis pas capable de le suivre vers le bas

Can quelqu'un me aider à résoudre ce problème? Le CheckBox fonctionne bien mais y compris les clics détecter quand cliquant directement sur la boîte

Était-ce utile?

La solution

Chaque fois que vous placez un élément qui est focalisable dans une liste les éléments de liste ne répondent plus aux clics ou quelque chose comme ça. Pour chaque élément que vous placez dans l'élément de liste qui est vario (boutons, cases à cocher, etc.), vous devez définir l'attribut android: focusable false.

J'avais une question similaire et qui a été la réponse pour moi. ListView personnalisée Android pas cliquer sur les articles

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top