【问题标题】:Close expandable ListView on child click在子点击时关闭可展开的 ListView
【发布时间】:2016-06-12 17:25:33
【问题描述】:

我实现了以下可扩展列表视图的方法。现在,当单击父级时,listView 会折叠。我想要做的是将列表设置为在按下孩子时折叠(不仅是组)。虽然我在搜索,但我不明白我需要覆盖/实现哪种方法。谢谢!

expListView.setOnGroupClickListener(new ExpandableListView.OnGroupClickListener() {

    @Override
    public boolean onGroupClick(ExpandableListView parent, View v,
int groupPosition, long id) {
parent.collapseGroup(groupPosition);
return false;
    }
});
expListView.setOnGroupExpandListener(new ExpandableListView.OnGroupExpandListener() {

    @Override
    public void onGroupExpand(int groupPosition) {

    }
});
expListView.setOnGroupCollapseListener(new ExpandableListView.OnGroupCollapseListener() {

    @Override
    public void onGroupCollapse(int groupPosition) {

    }
});

expListView.setOnChildClickListener(new ExpandableListView.OnChildClickListener() {

    @Override
    public boolean onChildClick(ExpandableListView parent, View v,
int groupPosition, int childPosition, long id) {
return false;
    }
});

【问题讨论】:

    标签: android expandablelistview


    【解决方案1】:

    你需要做的就是添加这行代码:

    @Override
            public boolean onGroupClick(ExpandableListView parent, View v,
                                        int groupPosition, long id) {
                parent.collapseGroup(groupPosition);
                return false;
            }
    

    【讨论】:

      【解决方案2】:

      它的工作请看截图

       expListView.setOnGroupExpandListener(new OnGroupExpandListener() {
      
                  // TODO Colapse Here Using this... in android
                  int previousGroup = -1;
                  boolean flag = false;
      
                  @Override
                  public void onGroupExpand(int groupPosition) {
      
                      Log.e("keshav", "onGroupClick is -> " + groupPosition);
      
                      Toast.makeText(getApplicationContext(),
                              listDataHeader.get(groupPosition) + " Expanded",
                              Toast.LENGTH_SHORT).show();
      
                      if (groupPosition != previousGroup && flag) {
                          expListView.collapseGroup(previousGroup);
                      }
                      previousGroup = groupPosition;
      
                      flag = true;
      
                  }
              });
      

      请看这里ExpandableLists in Android, I want to allow only one parent list to expand at a time

      【讨论】:

        【解决方案3】:

        使用此代码在子点击时折叠 ExpandableListView

        @Override
                public boolean onChildClick(ExpandableListView parent, View v,
                                            int groupPosition, int childPosition, long id) {
        
                    parent.collapseGroup(groupPosition);
                    return false;
                }
        

        【讨论】:

          猜你喜欢
          • 2019-03-23
          • 2020-01-30
          • 2010-12-05
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2023-01-13
          • 1970-01-01
          • 2017-05-28
          相关资源
          最近更新 更多