如何完全隐藏ExpandableListView的groupIndicator?

时间:2011-05-02 03:48:07

标签: android expandablelistview

我想在自定义的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代替颜色/透明的类似建议也是如此。

如何完全隐藏群组指示符?

编辑:事实证明,该代码可以工作......如果你把它放在drawable资源文件夹而不是布局。

3 个答案:

答案 0 :(得分:244)

您是否尝试更改ExpandableListView的属性android:groupIndicator="@null"

答案 1 :(得分:0)

我遇到了同样的问题,这解决了我的问题。 在Listview的适配器中,将以下内容添加到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。 有用!

答案 2 :(得分:0)

您可以尝试此代码

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

listView.setGroupIndicator(null);


listView.setChildIndicator(null);