【问题标题】:How to disable the collapsing of an ExpandableListView?如何禁用 ExpandableListView 的折叠?
【发布时间】:2011-08-16 05:50:06
【问题描述】:

我想实现一个ExpandableListView,只有在适配器中设置了所有值之后才能扩展它。我也希望能够禁用扩展器的折叠。

我可以在 Android XML 布局中实现这一点吗?

【问题讨论】:

    标签: android expandablelistview


    【解决方案1】:

    您可以定义一个返回trueOnGroupClickListener,如下所示:

    expandableList.setOnGroupClickListener(new OnGroupClickListener() {
      @Override
      public boolean onGroupClick(ExpandableListView parent, View v,
                                  int groupPosition, long id) { 
        return true; // This way the expander cannot be collapsed
      }
    });
    

    【讨论】:

      【解决方案2】:

      我不知道这可以通过 xml 完成。

      您可以将OnGroupClickListener 添加到ExpandableListView,并在组已展开时使用其事件:

      myExpandableListView.setOnGroupClickListener(new OnGroupClickListener()
      {
          @Override
          public boolean onGroupClick(ExpandableListView parent, 
              View v, int groupPosition, long id)
          {
              return parent.isGroupExpanded(groupPosition);
          }
      });
      

      【讨论】:

      • 非常感谢。但是我已经对其进行了一些更改,并且它不会折叠列表
      • 非常感谢。但我已经对其进行了一些更改,它不会折叠 listid.setOnGroupCollapseListener(new OnGroupCollapseListener() { public void onGroupCollapse(int id) { // TODO 自动生成的方法存根 ExpandableListView expand=(ExpandableListView) findViewById(R. id.expandableListView1); expand.expandGroup(id); } });
      • 非常感谢。但我已经对其进行了一些更改,它不会折叠 listid.setOnGroupCollapseListener(new OnGroupCollapseListener() { public void onGroupCollapse(int id) { // TODO 自动生成的方法存根 ExpandableListView expand=(ExpandableListView) findViewById(R. id.expandableListView1); expand.expandGroup(id); } });
      • 您应该在此处发布您的解决方案,您将能够在 48 小时内接受它。你应该这样做,所以这个问题被关闭了。但请注意,使用您的解决方案,列表将折叠,然后展开每个组,因此可能会浪费很多。通过使用点击事件,您可以防止列表崩溃。
      • 我知道我正在阻止点击事件。但我的要求是这样的。我必须一直扩展我的可扩展列表视图。所以我有防止崩溃事件。您能否在开始时指导展开 ExpandableListview。
      猜你喜欢
      • 2011-03-28
      • 1970-01-01
      • 2015-11-18
      • 2011-08-04
      • 1970-01-01
      • 2013-11-12
      相关资源
      最近更新 更多