如何在expandablelistview中折叠组视图上方和下方的所有子视图?

问题描述 投票:1回答:1

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

android android-studio expandablelistview android-contacts
1个回答
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;
    }
});
© www.soinside.com 2019 - 2024. All rights reserved.