如何完全隐藏ExpandableListView的groupIndicator?


69

我想在自定义ExpandableListView中完全隐藏groupIndicator。

此处提供的示例似乎无效。

它建议创建一个选择器并使用我复制的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代替color / transparent的类似建议也给出了相同的建议。

如何完全隐藏组指示器?

编辑:事实证明,如果将代码放在可绘制资源文件夹中而不是布局中,则该代码可以工作。

Answers:


248

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


19
对于任何想以编程方式执行此操作的人,都可以使用来完成mExpandableListView.setGroupIndicator(null)
菲尔(Phil)

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。有用!


0

您可以尝试此代码

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

listView.setGroupIndicator(null);


listView.setChildIndicator(null);
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.