一级菜单点击是事件:
mListView.setOnGroupClickListener(new OnGroupClickListener(){
@Override
public boolean onGroupClick(ExpandableListView parent, View v, int groupPosition, long id) {
//返回值控制是否响应原来的点击事件(打开、关闭二级菜单),true为不响应。
//此点击事件可以用来实现二级菜单数据网络获取
return false;
}
});
二级菜单点击事件:
mListView.setOnChildClickListener(new OnChildClickListener(){
@Override
public boolean onGroupClick(ExpandableListView parent, View v, int groupPosition, long id) {
return false;
}
});
一级菜单点击改变图标:
1、修改xml中的groupIndicator属性,代码如下:
<?xml version="1.0" encoding="UTF-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_expanded="false"
android:drawingCacheQuality="auto"
android:drawable="@drawable/la"/>
<item android:state_expanded="true"
android:drawingCacheQuality="auto"
android:drawable="@drawable/shou"/>
</selector>
android:groupIndicator="@drawable/ex_smallimage"
2、禁用groupIndicator属性:android:groupIndicator="@null",在item布局中添加图片。
public View getGroupView(int groupPosition, boolean isExpanded,
View convertView, ViewGroup parent) {
……
ImageView mgroupimage=(ImageView)convertView.findViewById(R.id.mGroupimage);
mgroupimage.setImageBitmap(mla);
if(!isExpanded){
mgroupimage.setImageBitmap(mshou);
}
……
}
同时在修改图片位置还可以修改数组中的标识,来控制默认打开项。
for(int i=0; i<GlobalInfo.strArr.length; i++){
if(GlobalInfo.strArr[i].equals("1")){
mListView.expandGroup(i);
}
}
关闭某一项
mListView.collapseGroup(group);