【问题标题】:How to collapse all the childviews above and below of a groupview in expandablelistview?如何在expandablelistview中折叠组视图上方和下方的所有子视图?
【发布时间】:2019-02-13 23:40:14
【问题描述】:

我正在尝试创建一个联系人列表应用程序。我采用了一个可扩展的列表视图,其布局作为每个组(联系人)的子视图。当我点击联系人(groupView)时,孩子会展开(布局)。现在当我点击另一个联系人时,我希望之前展开的组被折叠..有人可以帮忙吗?

【问题讨论】:

  • 欢迎来到 Stack Overflow!请参观并通读帮助中心,特别是如何提问。你最好的选择是做你的研究,搜索关于 SO 的相关主题,然后试一试。在进行更多研究和搜索后,发布一个最小的、完整的和可验证的尝试示例,并具体说明您遇到的问题,这可以帮助您获得更好的答案!

标签: android android-studio expandablelistview android-contacts


【解决方案1】:

将当前展开的组位置存储在一个变量中。在 onGroupExpanded 中执行以下操作。 lastExpandedPosition 包含最近展开的子项

private int lastExpandedPosition = -1;
private ExpandableListView lv; //your expandable listview
...

lv.setOnGroupExpandListener(new OnGroupExpandListener() {

    @Override
    public void onGroupExpand(int groupPosition) {
            if (lastExpandedPosition != -1
                    && groupPosition != lastExpandedPosition) {
                lv.collapseGroup(lastExpandedPosition);
            }
            lastExpandedPosition = groupPosition;
    }
});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-10-18
    • 1970-01-01
    • 1970-01-01
    • 2012-04-20
    • 2013-10-17
    • 2016-07-18
    • 1970-01-01
    相关资源
    最近更新 更多