Sto cercando un api come isExpanded() o isCollapsed() che mi dice se un gruppo è espanso o collassato.Come verificare se il gruppo è espanso o collassato in Android ExpandableListView?
risposta
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
È 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
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;
}
'isGroupExpanded (int groupPosition)' forse? –
@GeorgeD wow grazie, mi sono totalmente perso. – kyrax