如何在可扩展列表视图中折叠组视图上方和下方的所有子视图?

How to collapse all the childviews above and below of a groupview in expandablelistview?

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

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

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