gpt4 book ai didi

android - ExpandableListView - 检测所有组何时折叠

转载 作者:行者123 更新时间:2023-11-30 03:47:31 25 4
gpt4 key购买 nike

我有一个 ExpandableListView 并在组展开时执行一些操作:

    @Override
public void onGroupExpanded(int groupPosition) {
super.onGroupExpanded(groupPosition);
p = (RelativeLayout)activity.findViewById(R.id.pers);
p.setVisibility(View.GONE);
ExpandableListView elw = (ExpandableListView) activity
.findViewById(android.R.id.list);

if (groupPosition != lastExpandedGroupPosition) {
elw.collapseGroup(lastExpandedGroupPosition);
}
lastExpandedGroupPosition = groupPosition;

}

我需要将 RelativeLayout 设置为在所有组折叠时可见(或没有组展开时)。如何检测所有组当前是否已折叠?

最佳答案

你有两个等价的选择:

  1. 实现 ExpandableListAdapter方法:onGroupCollapsed(int groupPosition)onGroupExpanded(int groupPosition)你的ExandableListView的适配器。

  2. 添加自定义 OnGroupCollapseListenerOnGroupExpandListener并通过 setOnGroupCollapseListener() 将它们附加到可扩展 ListView 和 setOnGroupExpandListener()分别。

在这两个选项中,您基本上想要做的是跟踪当前扩展的组。一个好方法是将它们保留为 Set<Integer> .当一个组被折叠时,你从这个集合中删除它的 ID。类似地,当一个组展开时,您将其 ID 添加到该集合中。每次添加/删除后,您都会检查集合的大小。如果它是空的,那么所有组都会折叠。如果不是 - 一些组被扩展。

据我所知,没有直接的方法可以找出哪些组被展开/折叠。

关于android - ExpandableListView - 检测所有组何时折叠,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14731732/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com