android 关于ExpandableListView单击一个group其他的group关闭,此group标题应该顶头

来源:互联网 发布:加拿大订酒店软件 编辑:程序博客网 时间:2024/04/24 14:02

 定义flag记录列表状态

[html] view plaincopyprint?
  1. int expandFlag = -1;//控制列表的展开  

 

 重写onGroupClick方法

[html] view plaincopyprint?
  1. ExpandableListView listView = getExpandableListView();  
  2.   
  3. listView.setOnGroupClickListener(new OnGroupClickListener() {  
  4.   
  5.  @Override  
  6.  public boolean onGroupClick(ExpandableListView listView, View v,  
  7.    int groupPosition, long id) {  
  8.     
  9.   if (expandFlag == -1) {  
  10.    //展开被选的group  
  11.    listView.expandGroup(groupPosition);  
  12.          //设置被选中的group置于顶端  
  13.          listView.setSelectedGroup(groupPosition);  
  14.          expandFlag = groupPosition;  
  15.   } else if (expandFlag == groupPosition) {  
  16.    listView.collapseGroup(expandFlag);  
  17.    expandFlag = -1;  
  18.   } else {  
  19.    listView.collapseGroup(expandFlag);  
  20.    //展开被选的group  
  21.    listView.expandGroup(groupPosition);  
  22.          //设置被选中的group置于顶端  
  23.          listView.setSelectedGroup(groupPosition);  
  24.          expandFlag = groupPosition;  
  25.   }  
  26.           
  27.         return true;  
  28.  }  
  29. });  
0 0
原创粉丝点击