ExpandableListView实现只展开一组group

http://blog.csdn.net/judy50/article/details/53334907 这篇文章的方法可以解决,但是是先展开点击的分组,再收之前的,打开新的分组后显示位置有问题,在这个基础上做了调整

        //设置分组项的点击监听事件
        expandableListView.setOnGroupClickListener(new ExpandableListView.OnGroupClickListener() {
            @Override
            public boolean onGroupClick(ExpandableListView parent, View v, int groupPosition, long id) {
                for (int i = 0; i < expandableListviewAdapter.getGroupCount(); i++) {
                    if (groupPosition != i && expandableListView.isGroupExpanded(i)) {
                        //关闭已打开的分组
                        expandableListView.collapseGroup(i);
                    }
                }
                //切换点击的分组状态 打开/关闭
                if (expandableListView.isGroupExpanded(groupPosition)){
                    expandableListView.collapseGroup(groupPosition);
                }else {
                    expandableListView.expandGroup(groupPosition);
                }
                // true 拦截
                return true;
            }
        });
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容