2012-08-29 18 views
5

Eventuali duplicati:
ExpandableListView - hide indicator for groups with no childrencome nascondere l'indicatore ExpandableListView per gruppi senza figli

nascondere indicatore per i gruppi senza figli

main.xml

<ExpandableListView 
android:id="@+id/elv" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:groupIndicator="@drawable/selector"> 
</ExpandableListView> 

selector.xml

<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:state_empty="true" android:drawable="@android:color/transparent"/> 
    <item android:state_expanded="true" android:drawable="@drawable/expanded" /> 
    <item android:drawable="@drawable/collapse" /> 
</selector> 

che non funziona per i miei ICS, sembra che lo stato di tutti crollato gruppi sono vuote

+0

Sembra un bug, perché la scheda getChildrenCount (int groupPosition) non viene mai chiamata per gruppi compressi. Quindi sono trattati come vuoti. –

risposta

11

avere una prova a questo:

getExpandableListView().setGroupIndicator(null); 

Oppure,

if (getChildrenCount(groupPosition) == 0) { 
     indicator.setVisibility(View.INVISIBLE); 
    } 
else { 
     indicator.setVisibility(View.VISIBLE); 
     indicator.setImageResource(isExpanded ? R.drawable.group_expanded : R.drawable.group_closed); 
    } 
+0

dove mettere questa funzione? – Mahesh

+0

In 'getGroupView' – Swayam

+9

come ottenere l'indicatore in getGroupView? – corban