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了哈,这个看官自己补上。
你的支持,是我写博客的动力,谢谢!
点击查看更多内容
为 TA 点赞
评论
共同学习,写下你的评论
评论加载中...
作者其他优质文章
正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦