risposta

1

C'è un parametro in getGroupView() sul ExpandableListAdapter, un valore booleano che rappresenta quando il gruppo è espanso o meno.

Da (http://developer.android.com/reference/android/widget/ExpandableListAdapter.html#getGroupView(int, booleano, android.view.View, android.view.ViewGroup)

Ottiene una visualizzazione che consente di visualizzare il gruppo dato. Questa vista è solo per il gruppo: le viste per i figli del gruppo verranno recuperate utilizzando getChildView (int, int, booleano, View, ViewGroup)).

Parametri

groupPosition la posizione del gruppo per cui la visualizzazione viene restituito

IsExpanded se il gruppo viene espanso o compresso

convertView la vecchia vista di riutilizzare, se possibile, . È necessario verificare che questa vista sia non nulla e di un tipo appropriato prima dell'uso. Se non è possibile convertire questa vista per visualizzare i dati corretti, questo metodo può creare una nuova vista. Non è garantito che convertView sia stato precedentemente creato da getGroupView (int, boolean, View, ViewGroup). genitore il genitore che questo punto di vista sarà eventualmente allegata al

9

È possibile utilizzare isGroupExpanded.

expListViewObj.setOnGroupClickListener(new ExpandableListView.OnGroupClickListener() { 

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

        if(parent.isGroupExpanded(groupPosition)) 
        { 

        // Do your Staff 
        } 
        else{ 

         // Expanded ,Do your Staff 

        } 


        return false; 
       } 
      }); 

Per maggiori dettagli potete visitare qui

http://developer.android.com/reference/android/widget/ExpandableListView.html#setOnGroupClickListener(android.widget.ExpandableListView.OnGroupClickListener)

0

Come @George D scritto c'è ExpandableListView .isGroupExpanded(int groupPosition) metodo. Bene, è possibile aggiungere il codice per ottenere la posizione di gruppo espanso o -1

public int getExpandedGroupPosition() { 
    for (int i = 0; i < listView.getExpandableListAdapter().getGroupCount(); i++) { 
     if (listView.isGroupExpanded(i)) { 
      return i; 
     } 
    } 

    return -1; 
} 
Problemi correlati