我使用SimpleExpandableListAdapter类型在Android应用程序中创建了一个可扩展列表。 但是,当我选择/点击其中一个子条目时,我完全不知道如何检测事件。
我已经尝试了所有常用的OnClickListener / OnChildClickListener等,但似乎无法找到(通过实验,或半小时谷歌搜索)正确的处理程序例程应该是什么。
非常感谢任何帮助。
答案 0 :(得分:2)
应该是:
list.setOnChildClickListener(new ExpandableListView.OnChildClickListener() {
public void onChildClick(ExpandableListView parent, View v, int groupPosition, int childPosition, long id) {
Object o = (Object)adapter.getChild(groupPosition, childPosition);
// perform work on child object here
}
}
虽然,听起来你尝试过这个...... ExpandableListView.OnChildClickListener说它实际上就是这样做的。
另外,您是否为ListAdapter定义了方法allItemsAreEnabled()和/或isEnabled()?你不应该,但也许他们目前已定义并返回错误的值?
答案 1 :(得分:1)
也...
如果您正在使用扩展BaseExpandableListAdapter的类,那么它们是默认实现的方法,您必须为其设置返回布尔值。
@Override
public boolean isChildSelectable(int groupPosition, int childPosition) {
// TODO Auto-generated method stub
return true;
}
默认情况下,此方法返回false,swap为true(如果是这种情况),OnChildClickListener应该开始正确解析。