ExpandableListView - hide indicator for groups with no children
In an ExpandableListView
, is there a way to hide the group indicator for groups with no children?
Solution 1:
Try this >>>
for all items
getExpandableListView().setGroupIndicator(null);
In xml
android:groupIndicator="@null"
Solution 2:
The android:groupIndicator
property takes a state enabled drawable. That is, you can set different image for different states.
When the group has no children, the corresponding state is 'state_empty'
See these reference links:
this and this
For state_empty
, you can set a different image which is not confusing, or, simply use transparent color to display nothing...
Add this item in your stateful drawable along with others....
<item android:state_empty="true" android:drawable="@android:color/transparent"/>
So, your statelist can be like this:
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_empty="true" android:drawable="@android:color/transparent"/>
<item android:state_expanded="true" android:drawable="@drawable/my_icon_max" />
<item android:drawable="@drawable/my_icon_min" />
</selector>
In case you are using an ExpandableListActivity, you can set the groupindicator in onCreate as follows:
getExpandableListView().setGroupIndicator(getResources().getDrawable(R.drawable.my_group_statelist));
I have tested this to be working.