ExpandableListView有很多項,展開一項則另一個展開的項關閉, 就像兩個項互斥。每次隻能有一個項目是展開的。
重載onGroupExpand函數,做一下控制就好了,代碼如下:
//複寫Adapter方法,
//isGroupExpanded(groupPosition)&collapseGroup(i) 都是ExpandableListView的方法,最好将此對象以參數傳遞
方法一:
[java]
view
plain
copy print ? https://code.csdn.net/snippets/78705 https://code.csdn.net/snippets/78705/fork- 重載onGroupExpand函數,做一下控制就好了,代碼如下:
- @Override
- public void onGroupExpand(int groupPosition) {
- // TODO Auto-generated method stub
- for (int i = 0; i < mArtistAdapter.getGroupCount(); i++) {
- // ensure only one expanded Group exists at every time
- if (groupPosition != i &&isGroupExpanded(groupPosition)) {
- collapseGroup(i);
- }
- }
- }
方法二:
實作
https://code.csdn.net/snippets/78705 https://code.csdn.net/snippets/78705/fork- ExpandableListView.setOnGroupExpandListener(new OnGroupExpandListener() {
- for (int i = 0; i < mProductClassFirstAdapter.getGroupCount(); i++) {
- // ensure only one expanded Group exists at every
- if (groupPosition != i) {
- mProductFirstListView.collapseGroup(i);
- }
- });