【问题标题】:Expandable ListView可展开的列表视图
【发布时间】:2011-10-14 12:12:54
【问题描述】:

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

谢谢

【问题讨论】:

标签: android expandablelistview


【解决方案1】:

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

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);
            }
        }
    }

});

【讨论】:

    【解决方案2】:

    您可以按照 kieran 的建议进行操作,或者如果您一次只打开一个,您可以只跟踪您最后点击的那个。您可以通过在类主体中声明 int lastclicked 来做到这一点,然后按照韩国人的建议在侦听器中声明 list.collapseGroup(lastclicked)

    我会给出一个代码示例,但我使用的是手机。对不起。

    但我个人更喜欢使用 lastclicked 方法而不是使用 for 循环。看起来效率更高。

    【讨论】:

      【解决方案3】:

      首先在您的 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);
                  }
              }
          }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-02-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多