发现了一些类似的问题但没有答案可行。现在我这样做:
private ExpandableListView elv;
elv.setGroupIndicator(getResources().getDrawable(R.drawable.expandable_list_icon_selector));
expandable_list_icon_selector.xml:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_empty="true" android:drawable="@android:color/transparent"/>
</selector>
不幸的是,这隐藏了所有群组的指标,即使它们不是空的。看来当一个组没有扩展时,android认为它是空的。有小费吗?感谢。
答案 0 :(得分:1)
我做了类似于您的任务的事情 - 在仅部分组的组名旁边显示自定义组指示符。我是通过首先使用方法setGroupIndicator(null)
隐藏组指示符来完成的。然后我实现了BaseExpandableListAdapter
的子类,并在我展示的getGroupView()
方法中,或者根据我的逻辑隐藏了我自己的指标图像。如果仍然是最新的,您可以使用这种方法。我希望我能帮助你。
答案 1 :(得分:1)
这里是没有孩子时可扩展列表的Hide drawable工作示例的链接。
希望这会对你有帮助......
http://mylifewithandroid.blogspot.in/2011/06/hiding-group-indicator-for-empty-groups.html
...谢谢
答案 2 :(得分:0)
编辑:此方法无法按设计工作(source)。
您是否尝试过添加非空状态?
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_empty="true"
android:state_expanded="false"
android:drawable="@android:color/transparent"/>
<item android:drawable="@drawable/some_image"/>
</selector>
答案 3 :(得分:-1)
我遇到了类似的问题,我解决了这个问题:
if(explistView != null){
explistView.setIndicatorBounds(0, 0);
}
答案 4 :(得分:-1)
*
in getGroupView() method of adapter use
if ( getChildrenCount( groupPosition ) == 0 ) {
indicator.setVisibility( View.INVISIBLE );
}
else {`enter code here`
indicator.setVisibility( View.VISIBLE );
indicator.setImageResource( isExpanded ? R.drawable.group_expanded : R.drawable.group_closed );
}
*