如何在ExpandableListView中实现点击监听
How to implement Click Listener in ExpandableListView
我有一个自定义适配器,它扩展了 BaseExpandableListAdapter
。
我希望我的 ExpandableList
在我单击一些 TextView
时展开和折叠。
我该如何实施?
我想,我必须将 OnClickListener
添加到方法 getGroupView
和 getChildView
中。我看到了,有布尔标志 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,它们在组展开或折叠时触发。
我有一个自定义适配器,它扩展了 BaseExpandableListAdapter
。
我希望我的 ExpandableList
在我单击一些 TextView
时展开和折叠。
我该如何实施?
我想,我必须将 OnClickListener
添加到方法 getGroupView
和 getChildView
中。我看到了,有布尔标志 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,它们在组展开或折叠时触发。