如何处理Android Simple ExpandableListAdapter条目选择

时间:2010-03-25 00:44:53

标签: android event-handling handler

我使用SimpleExpandableListAdapter类型在Android应用程序中创建了一个可扩展列表。 但是,当我选择/点击其中一个子条目时,我完全不知道如何检测事件。

我已经尝试了所有常用的OnClickListener / OnChildClickListener等,但似乎无法找到(通过实验,或半小时谷歌搜索)正确的处理程序例程应该是什么。

非常感谢任何帮助。

2 个答案:

答案 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应该开始正确解析。