2012-06-06 3 views
0

J'ai un imagen dans le droit des groupes de expandiblelistview. Je veux que lorsque je clique dans l'image, cela élargisse le groupe, mais quand je clique dans l'image cela ne doit rien.image cliquable dans un expandiblelistview

J'ai ce code dans mon onCreate, je ne sais pas si cela doit être dans l'adaptateur de liste extensible.

/*****************************************************************/ 
// Elementos del layout 
     expLista = getExpandableListView(); 
     expLista.setItemsCanFocus(true); 
     expLista.setOnGroupClickListener(new OnGroupClickListener() { 

      @Override 
      public boolean onGroupClick(ExpandableListView parent, View v, 
        int groupPosition, long id) { 
       grupoCLickeado = groupPosition; 
       ImageView btnExpandir = (ImageView) v 
         .findViewById(R.id.imgExpandir); 
       btnExpandir.setFocusable(false); 
       btnExpandir.setOnClickListener(new View.OnClickListener() { 
        @Override 
        public void onClick(View v) { 
         expLista.expandGroup(grupoCLickeado, true); 
        } 
       }); 
       expLista.setOnGroupExpandListener(new OnGroupExpandListener() { 

        @Override 
        public void onGroupExpand(int groupPosition) { 
         expLista.collapseGroup(groupPosition); 
         codigoServicio = numerosServicios.get(groupPosition); 
        } 

       }); 

       return false; 
      } 
     }); 
+0

Je pense que le problème est bcoz vous utilisez Réduire le groupe à l'intérieur de votre setOnGroupExpandListener. Pourquoi fais-tu cela sur chaque expansion? –

+0

J'ai de nouveau Andro;). Je veux quand l'utilisateur clique dans l'image, ce groupe de développement, mais quand clique dehors de l'image, mais à l'intérieur de la ligne ne fais rien .. est-ce possible? – rbrlnx

+0

Ouais c'est possible. S'il vous plaît, attendez. Je posterai ma réponse. –

Répondre

0

Au lieu d'utiliser OnGroupExpandListener vous devez utiliser setOnGroupClickListener,

Au lieu de cela,

expLista.setOnGroupExpandListener(new OnGroupExpandListener() { 

       @Override 
       public void onGroupExpand(int groupPosition) { 
        expLista.collapseGroup(groupPosition); 
        codigoServicio = numerosServicios.get(groupPosition); 
       } 

      }); 

Utilisez ce,

expLista.setOnGroupClickListener(new OnGroupClickListener() { 

       @Override 
      public boolean onGroupClick(ExpandableListView parent, View v, 
         int groupPosition, long id) { 

         expLista.collapseGroup(groupPosition); 
         return true; 
        } 
        return true; 
       } 
      }); 
+0

Avec ce code ne pas développer de groupe jamais – rbrlnx

+0

avez-vous supprimé setOnGroupExpandListener et vérifier? –

+0

Oui je le fais, mais avec ce code, quand je clique sur une image, développez-moi le dernier groupe sur lequel j'ai cliqué, mais pas le moment où j'ai cliqué. – rbrlnx