如何在ExpandableListView中实现点击监听

How to implement Click Listener in ExpandableListView

我有一个自定义适配器,它扩展了 BaseExpandableListAdapter

我希望我的 ExpandableList 在我单击一些 TextView 时展开和折叠。

我该如何实施?

我想,我必须将 OnClickListener 添加到方法 getGroupViewgetChildView 中。我看到了,有布尔标志 isExpanded.

所以它应该是这样的:

@Override
public View getGroupView(int groupPosition, final boolean isExpanded,
                         View convertView, ViewGroup parent) {
textView.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            if (isExpanded){

               //What should i write here?
            }
        }
    });
    return convertView;
}

可是OnClickListener里面应该写什么呢?我找不到任何允许我 expand/collapse 我的列表视图的函数。

有没有类似listView.expandGroup(itemPosition);的功能?

实际上有一个ExpandableListView.expandGroup. And it's reverse action collapseGroup

如果您指的 TextView 在列表视图项内,那么您对适配器内 onClickListener 内的操作是正确的。此 post 讨论了动态扩展 ExpandableListView,我认为您可以理解并反转操作以实现您的目标。

希望这对您有所帮助。干杯! :D

当您单击它时,您想要用作组的展开或折叠按钮的 TextView 必须是 ExpandableListViewAdapter 的 header。

您还设置了 setOnGroupExpandListener 和 setOnGroupCollapseListener,它们在组展开或折叠时触发。