可扩展的ListView

时间:2011-07-27 18:01:19

标签: android expandablelistview

我使用expandableListView进行UI设计,所以我想知道Android扩展列表视图,有没有办法只允许扩展一个列表项,即当你点击并展开一个项目时,所有其他项目都会自动折叠。

由于

3 个答案:

答案 0 :(得分:10)

当您点击一个项目时,您可以遍历其余项目并折叠每个项目,除了您刚刚点击的项目...

list.setOnGroupExpandListener(new OnGroupExpandListener() {

    public void onGroupExpand(int groupPosition) {
        int len = mAdapter.getGroupCount();

        for(int i=0; i<len; i++) {
            if(i != groupPosition) {
                list.collapseGroup(i);
            }
        }
    }

});

答案 1 :(得分:1)

你可以像kieran建议的那样做,或者如果你一次只打开一个,你可以跟踪你最后一次点击的那个。您可以通过在类主体中声明int lastclicked然后在听众中声明为韩语建议,放置list.collapseGroup(lastclicked)

我会给出一个代码示例,但我在移动设备上。遗憾。

但我个人更喜欢使用lastclicked方法而不是使用for循环。它似乎更有效率。

答案 2 :(得分:0)

首先在您的Activity中实现OnGroupExpandListener,允许您添加其默认方法,并在添加默认方法后,您需要这样做:

@Override
    public void onGroupExpand(int groupPosition) {
        // TODO Auto-generated method stub
        int len = expadapter.getGroupCount();           
        for(int i=0;i<len;i++)
        {
            if(i!=groupPosition)
            {
                expandlst.collapseGroup(i);
            }
        }
    }