为了账号安全,请及时绑定邮箱和手机立即绑定

互斥的ExpandableListView

标签:
Android

ExpandableListView是常用的二级列表,往往需求都会这样设计当点开了一个group,就需要将上一个打开的关闭掉。形成互斥的效果。看了一下api. 发现了一个collapseGroup(int i)的方法,可以关闭group。试了几次没有效果,后来才发现,该方法只能在setOnGroupExpandListener方法中起作用,我表示很尴尬,废话就到这里了,马上给各位看官上代码。

private ExpandableListView mExpandableListView;
    private int lastGroupPosition = -1;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_test);
 
        mExpandableListView = (ExpandableListView) findViewById(R.id.expand_lv);
 
        mExpandableListView.setOnGroupExpandListener(new ExpandableListView.OnGroupExpandListener() {
            @Override
            public void onGroupExpand(int groupPosition) {
                if(lastGroupPosition >= 0 && lastGroupPosition != groupPosition && mExpandableListView.isGroupExpanded(lastGroupPosition)) {
 
"""                    mExpandableListView.collapseGroup(groupPosition);//关闭上一个
打开的
"""
                }
                lastGroupPosition = groupPosition;
            }
        });
 
    }

这里就没有给ExpandableListView设置Adapter了哈,这个看官自己补上。

你的支持,是我写博客的动力,谢谢!

原文链接:http://www.apkbus.com/blog-682543-62059.html

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消