2009-08-31 17 views

risposta

5

È possibile provare il metodo setGroupIndicator(Drawable) di ExpandableListView.

+0

Ciao, Questo metodo aggiunge la icona a tutti i genitori ma se voglio aggiungere un'icona separata per ciascun genitore rispettivamente. È possibile. – Sam97305421562

+0

Se si desidera personalizzare davvero il layout del gruppo, perché non provare a utilizzare o sottoclasse SimpleExpandableListAdapter? Imposta la risorsa personalizzata per expandedGroupLayout e carica l'immagine necessaria su getGroupView (int, boolean, View, ViewGroup). Buona fortuna e commenta quando lo vedi/prova. –

1

ok

public View getGroupView(int groupPosition, boolean isExpanded, View convertView, 
      ViewGroup parent) { 

    if(getChildrenCount(groupPosition)==0) 
    { 
      // how do i hide the group indicator ? 

    } 

Quindi, come si può modificare l'indicatore di gruppo per i gruppi vuoti?

13

È possibile anche definire il proprio groupIndicator in XML:

prima definire il proprio disegnabile (ho chiamato list_view_group_indicator.xml e messo nella directory drawable)

<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item 
     android:state_expanded="true" 
     android:drawable="@drawable/packagexgeneric" /> 
    <item 
     android:drawable="@drawable/packagexgenericclose" /> 
</selector> 

quindi utilizzarlo come un drawable per il vostro expandableListview

<ExpandableListView android:id="@+id/server_show_list" 
    android:layout_width="fill_parent"android:layout_height="wrap_content" 
    android:groupIndicator="@drawable/list_view_group_indicator" /> 
+0

funziona, grazie –

0
indicator=(ImageView)convertView.findViewById(R.id.icon_img); 
    if (getChildrenCount(groupPosition) == 0) { 
     indicator.setVisibility(View.INVISIBLE); 
    } 
    else { 
     indicator.setVisibility(View.VISIBLE); 
     indicator.setImageResource(isExpanded ? 
     R.drawable.ic_arrow_up : R.drawable.ic_arrow_down); 
    } 
Problemi correlati