首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在ExpandableListView中以编程方式折叠组

在ExpandableListView中以编程方式折叠组
EN

Stack Overflow用户
提问于 2010-11-30 22:29:57
回答 5查看 43.3K关注 0票数 58

当我扩展一个新的组时,我可以折叠最后一个扩展的组吗?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2010-11-30 23:06:16

试着把它放到你的ExpandableListAdapter中,listView是对ExpandableListView本身的引用。lastExpandedGroupPosition是在ExpandableListAdapter中定义的整数成员变量。

代码语言:javascript
复制
    @Override
    public void onGroupExpanded(int groupPosition){
        //collapse the old expanded group, if not the same
        //as new group to expand
        if(groupPosition != lastExpandedGroupPosition){
            listView.collapseGroup(lastExpandedGroupPosition);
        }

        super.onGroupExpanded(groupPosition);           
        lastExpandedGroupPosition = groupPosition;
    }
票数 122
EN

Stack Overflow用户

发布于 2012-11-09 17:55:03

非常有帮助,但正如Anh Tuan在上面的评论中提到的那样,我遇到了ExpandableListView没有滚动回当前选定组的顶部的问题(它会停留在当前滚动的位置,在组的中间的某个位置)。您还需要添加一个onGroupClickListener()来滚动到正确的位置:

代码语言:javascript
复制
@Override
public boolean onGroupClick(ExpandableListView parent, View v, int groupPosition,
        long id) {
    // Implement this method to scroll to the correct position as this doesn't
    // happen automatically if we override onGroupExpand() as above
    parent.smoothScrollToPosition(groupPosition);

    // Need default behaviour here otherwise group does not get expanded/collapsed
    // on click
    if (parent.isGroupExpanded(groupPosition)) {
        parent.collapseGroup(groupPosition);
    } else {
        parent.expandGroup(groupPosition);
    }

    return true;
}
票数 23
EN

Stack Overflow用户

发布于 2013-07-11 14:39:31

This为我工作

代码语言:javascript
复制
expandableList.setOnGroupExpandListener(new OnGroupExpandListener() {
    int previousItem = -1;

    @Override
    public void onGroupExpand(int groupPosition) {
        if(groupPosition != previousItem )
            expandableList.collapseGroup(previousItem );
        previousItem = groupPosition;
    }
});
票数 17
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4314777

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档