final ArrayList<String> groupList = new ArrayList<String>();
groupList.add("用户");
groupList.add("群组");
groupList.add("摄像头");
HashMap<String, ArrayList<PhonebookModel>> childMap = new HashMap<String, ArrayList<PhonebookModel>>();
ArrayList<PhonebookModel> childListA = new ArrayList<PhonebookModel>(getPhonebookListByType("user"));
ArrayList<PhonebookModel> childListB = new ArrayList<PhonebookModel>(getPhonebookListByType("group"));
ArrayList<PhonebookModel> childListC = new ArrayList<PhonebookModel>(getPhonebookListByType("camera"));
childMap.put("用户", childListA);
childMap.put("群组", childListB);
childMap.put("摄像头", childListC);
/*联系人列表扩展的第一级别*/
phoneBookExpand_baseAdapter adapter = new phoneBookExpand_baseAdapter(main_activity.getInstance(), groupList, childMap);
firstListView.setAdapter(adapter);
adapter.notifyDataSetChanged();
/*默认打开所有项*/
for (int i = 0; i < groupList.size(); i++) {
firstListView.expandGroup(i);
}
/*设置群组展开时事件*/
firstListView.setOnGroupExpandListener(new ExpandableListView.OnGroupExpandListener() {
@Override
public void onGroupExpand(int groupPosition) {
/*有三个ListView,想要展开一个group,其它group都关闭*/
for (int i = 0; i < groupList.size(); i++) {
if (groupPosition != i) {
firstListView.collapseGroup(i);
}
}
}
});
firstListView.setOnGroupClickListener(new ExpandableListView.OnGroupClickListener() {
@Override
public boolean onGroupClick(ExpandableListView expandableListView, View view, int groupPosition, long l) {
return false; // 返回false,否则分组不会展开
}
});
/*子项点击事件*/
firstListView.setOnChildClickListener(new ExpandableListView.OnChildClickListener() {
@Override
public boolean onChildClick(ExpandableListView expandableListView, View view, int i, int childPosition, long l) {
PhonebookModel remoteParty = (PhonebookModel) expandableListView.getExpandableListAdapter().getChild(i,childPosition);
click(remoteParty,childPosition);
lastItemClick = childPosition;
return false;
}
});
android listview折叠与展开子项
最新推荐文章于 2024-04-17 16:42:12 发布