onChildClick不适用于我的ExpandableListView

时间:2013-01-23 15:37:06

标签: android events expandablelistview

我无法知道为什么我onChildClick的{​​{1}}无法正常工作的原因。 但onGroupClick可以正常工作。

这是我所拥有的

ExpandableListView

我见过很多人遇到这个问题,但没有人有确凿的答案。

增加:

fileExpandableList.setOnGroupClickListener(this);
            fileExpandableList
                .setOnChildClickListener(new ExpandableListView.OnChildClickListener() {
                @Override
                public boolean onChildClick(ExpandableListView parent,
                        View v, int groupPosition, int childPosition,
                        long id) {
                    System.out.println("Child CLICKED.");
                    return false;
                }

            });

列表视图xml:

@Override
public boolean isChildSelectable(int groupPosition, int childPosition) {
    return true;
}

子行xml

...
        <ExpandableListView
        android:id="@android:id/list"
        android:drawSelectorOnTop="false"
        android:groupIndicator="@drawable/group_indicator"
        style="@style/allWrapper" >
    </ExpandableListView>
</FrameLayout>

myOnClick事件处理程序

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/expandablelist_childrow"
style="@style/allmenu" >

<com.abc.xyz.android.view.TypeModuleView
    android:id="@+id/expandablelist_childview"
    android:longClickable="true"
    android:onClick="myOnClick"
    style="@style/module" >
</com.abc.xyz.android.view.TypeModuleView>

2 个答案:

答案 0 :(得分:4)

尝试将isChildSelectable()的返回值设为True

答案 1 :(得分:0)

onClick属性(为什么还要把它放在哪里?)和onChildClickListener之间存在冲突。

onClick捕获TypeModuleView上的click事件。 LinearLayout没有收到它,也没有点击孩子。