ExpandableListView 中只有一组会展开

Only one group will expand in ExpandableListView

我是 Android 开发新手。我按照 this 教程显示 ExpandableListView 及其正常工作。如果我按下所有组,那么所有组都会展开。

我一次只想扩展一组。一开始,第一个组会自动展开,如果我点击另一个组,那么第一个组会折叠,最近的组会展开。可能吗?

如果可以的话,我怎样才能得到。有什么建议吗?

您可以使用 GroupExpandListener 实现。将最后展开的位置存储到变量并使用此变量折叠组

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

lv.setOnGroupExpandListener(new OnGroupExpandListener() {

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