web-dev-qa-db-ja.com

ExpandableListViewのgroupIndicatorを完全に非表示にするにはどうすればよいですか?

カスタムExpandableListViewでgroupIndicatorを完全に非表示にします。

here が提供されている例は機能していないようです。

セレクターを作成し、複製したexpList.setGroupIndicator(selector)を使用することをお勧めします。

_<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:Android="http://schemas.Android.com/apk/res/Android" Android:id="@+id/empty_icon">
    <item Android:state_empty="true" Android:drawable="@Android:color/transparent"/>
    <item Android:state_expanded="true" Android:drawable="@Android:color/transparent" />
    <item Android:drawable="@Android:color/transparent" />
</selector>
_

これにより、次のエラーが発生します
ERROR/AndroidRuntime(10675): Caused by: Android.content.res.Resources$NotFoundException: Resource is not a Drawable (color or path): TypedValue{t=0x12/d=0x0 a=2 r=0x7f0b0013}

同じことが、色/透明の代わりにAndroid:id/emptyを使用するという同様の提案によって与えられます。

グループインジケーターを完全に非表示にするにはどうすればよいですか?

編集:結局のところ、そのコードは機能します...レイアウトの代わりにドローアブルリソースフォルダーに配置した場合。

67

ExpandableListViewの属性Android:groupIndicator="@null"

246
Michael

このコードを試すことができます

listView =(ExpandableListView)view.findViewById(R.id.listView);

listView.setGroupIndicator(null);


listView.setChildIndicator(null);
0

私も同じ問題を抱えていたので、問題は解決しました。リストビューのアダプターで、以下をgetGroupViewに追加します。

if (groupPosition == 0) {
     convertView = layoutInflater.inflate(R.layout.blank_layout, null);

} else {
    convertView = layoutInflater.inflate(R.layout.group_indicator_cell,null);
}

これにより、リストの0番目のグループが空白になります。

空白のレイアウトは、layout_height = 0dpを持つ内部に何らかのビューがあるレイアウトです。できます!

0
Ajith Memana