2009-08-31 25 views

答えて

5

ExpandableListViewのsetGroupIndicator(Drawable)メソッドを試すことができます。だから、

+0

こんにちは、 ための描画可能なこの方法が追加されますアイコンをすべての親に追加しますが、それぞれの親に別々のアイコンを追加する場合は可能です。 – Sam97305421562

+0

あなたが本当にグループレイアウトをカスタマイズしたいのであれば、SimpleExpandableListAdapterの使用やサブクラス化を試してみませんか? expandedGroupLayoutのカスタムリソースを設定し、必要なイメージをgetGroupView(int、boolean、View、ViewGroup)にロードします。あなたが見て/試してみると、幸運とコメントが戻ってきます。 –

1

OK

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を定義することができます。

まず次にとしてそれを使用

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

(私はlist_view_group_indicator.xmlそれと呼ばれ、描画可能ディレクトリに配置)、独自の描画可能の定義あなたの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

作品、ありがとう –

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); 
    } 
関連する問題