如何在expandablelistview中折叠组视图上方和下方的所有子视图?
Posted
技术标签:
【中文标题】如何在expandablelistview中折叠组视图上方和下方的所有子视图?【英文标题】:How to collapse all the childviews above and below of a groupview in expandablelistview? 【发布时间】:2019-02-13 23:40:14 【问题描述】:我正在尝试创建一个联系人列表应用程序。我采用了一个可扩展的列表视图,其布局作为每个组(联系人)的子视图。当我点击联系人(groupView)时,孩子会展开(布局)。现在当我点击另一个联系人时,我希望之前展开的组被折叠..有人可以帮忙吗?
【问题讨论】:
欢迎来到 Stack Overflow!请参观并通读帮助中心,特别是如何提问。你最好的选择是做你的研究,搜索关于 SO 的相关主题,然后试一试。在进行更多研究和搜索后,发布一个最小的、完整的和可验证的尝试示例,并具体说明您遇到的问题,这可以帮助您获得更好的答案! 【参考方案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;
);
【讨论】:
以上是关于如何在expandablelistview中折叠组视图上方和下方的所有子视图?的主要内容,如果未能解决你的问题,请参考以下文章
GetChildView 在折叠和展开 ExpandableListView 时得到刷新
将焦点保存在 ExpandableListView 中的展开组上