【ExpandableListView】ExpandableListView互斥展开效果

来源:互联网 发布:debian官方软件源 编辑:程序博客网 时间:2024/04/29 00:56

(转载)http://blog.csdn.net/jabony/article/details/16902187

ExpandableListView有很多项,展开一项则另一个展开的项关闭, 就像两个项互斥。每次只能有一个项目是展开的。

重载onGroupExpand函数,做一下控制就好了,代码如下:

//复写Adapter方法,

//isGroupExpanded(groupPosition)&collapseGroup(i) 都是ExpandableListView的方法,最好将此对象以参数传递


方法一:

[java] view plain copy
 print?在CODE上查看代码片派生到我的代码片
  1. 重载onGroupExpand函数,做一下控制就好了,代码如下:  
  2.   
  3. @Override  
  4. public void onGroupExpand(int groupPosition) {  
  5. // TODO Auto-generated method stub  
  6.    for (int i = 0; i < mArtistAdapter.getGroupCount(); i++) {  
  7.     // ensure only one expanded Group exists at every time  
  8.     if (groupPosition != i &&isGroupExpanded(groupPosition)) {  
  9.         collapseGroup(i);  
  10.        }  
  11.     }  
  12.   
  13. }  

方法二:

实现

[java] view plain copy
 print?在CODE上查看代码片派生到我的代码片
  1. ExpandableListView.setOnGroupExpandListener(new OnGroupExpandListener() {  
  2. @Override  
  3. public void onGroupExpand(int groupPosition) {  
  4.      for (int i = 0; i < mProductClassFirstAdapter.getGroupCount(); i++) {  
  5.       // ensure only one expanded Group exists at every  
  6.          if (groupPosition != i) {  
  7.           mProductFirstListView.collapseGroup(i);  
  8.         }  
  9.     }  
  10. }  
  11. });  

//-------------------------------------------------------------------------------------------------------------------------------------------

<span style="white-space:pre"></span>mListView.setOnChildClickListener(new ExpandableListView.OnChildClickListener() {  // 点击子菜单收起@Overridepublic boolean onChildClick(ExpandableListView parent, View v, int groupPosition, int childPosition, long id) {mListView.collapseGroup(groupPosition);return false;}});mListView.setOnGroupExpandListener(new ExpandableListView.OnGroupExpandListener() {  // group互斥的实现@Overridepublic void onGroupExpand(int groupPosition) {for (int i = 0; i < mQuestionAdapter.getGroupCount(); i++) {if (groupPosition != i && mListView.isGroupExpanded(groupPosition)) {mListView.collapseGroup(i);}}}});


0 0
原创粉丝点击