2009-08-31 135 views

回答

5

您可以嘗試ExpandableListView的setGroupIndicator(Drawable)方法。

+0

嗨, 這種方法增加了圖標給所有父母,但是如果我想爲每個父母分別添加單獨的圖標。是否有可能。 – Sam97305421562 2009-08-31 11:28:26

+0

如果你想真正地定製你的組佈局,爲什麼你不嘗試使用或繼承SimpleExpandableListAdapter?爲expandedGroupLayout設置自定義資源,並在getGroupView(int,boolean,View,ViewGroup)上加載所需的圖像。祝您好運,並在您看到/嘗試時回覆評論。 – 2009-08-31 12:40:03

1

確定

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

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

    } 

那麼,怎樣才能修改空組組指標?

13

您也可以在XML定義自己的groupIndicator:

首先定義自己的繪製(我list_view_group_indicator.xml稱之爲並將其放置在繪製目錄)

<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> 

然後把它作爲一個繪製您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

它的工作原理,謝謝 – 2013-11-13 09:42:46

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); 
    }