Как я могу полностью скрыть идентификатор группы ExpandableListView?

Я хочу полностью скрыть идентификатор группы в пользовательском ExpandableListView.

Пример, представленный здесь, не работал.

Предлагается сделать селектор и использовать expList.setGroupIndicator(селектор), который я реплицировал:

<?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 вместо цвета/прозрачности.

Как полностью скрыть индикатор группы?

Изменить: Как выясняется, этот код работает... если вы поместите его в папку с возможностью переноса, а не в макет.

Ответ 1

Вы пытались изменить атрибут ExpandableListView android:groupIndicator="@null"?

Ответ 2

У меня была такая же проблема, и это решило мою проблему. В свой адаптер 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. Оно работает!

Ответ 3

Вы можете попробовать этот код

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

listView.setGroupIndicator(null);


listView.setChildIndicator(null);