Если вы хотите сделать все это с помощью кодирования, не используя другое изображение, вот как я это сделал.
(1) Установка индикатора группы на ноль
(2) Включение моего индикатора пользовательской группы в макет группы.
(3) Наличие groupClickListener
, которое изменяет ваш индикатор состояния.
Фрагменты кода:
(1) mListView.setGroupIndicator(null);
(2) Включил мой индикатор в групповой макет.
<ImageView
android:id="@+id/help_group_indicator"
android:layout_width="@dimen/help_group_indicator_dimension"
android:layout_height="@dimen/help_group_indicator_dimension"
android:layout_marginTop="@dimen/help_group_indicator_dimension"
android:src="@drawable/down_icon" />
(3)
mListView.setOnGroupClickListener(new OnGroupClickListener() {
@Override
public boolean onGroupClick(ExpandableListView parent, View clickedView, int groupPosition, long rowId) {
ImageView groupIndicator = (ImageView) clickedView.findViewById(R.id.help_group_indicator);
if (parent.isGroupExpanded(groupPosition)) {
parent.collapseGroup(groupPosition);
groupIndicator.setImageResource(R.drawable.down_icon);
} else {
parent.expandGroup(groupPosition);
groupIndicator.setImageResource(R.drawable.up_icon);
}
return true;
}
});