Как я могу полностью скрыть groupIndicator ExpandableListView?


Я хочу полностью скрыть groupIndicator в пользовательском 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/пустой вместо цвета/прозрачный.

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

Edit: как оказалось, этот код действительно работает... если вы поместите его в папку drawable resource вместо layout.

3 66

3 ответа:

вы пробовали изменение с android:groupIndicator="@null"?

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

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

управления ListView = (ExpandableListView) смотреть.команду findViewById(Р. ИД.элемент ListView);

listView.setGroupIndicator(null);


listView.setChildIndicator(null);