我不知道为什么onChildClick
我的见鬼ExpandableListView
不工作的原因。但是 onGroupClick 可以正常工作。
这就是我所拥有的
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;
}
});
我见过很多人有这个问题,但没有人有明确的答案。
添加:
@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>
子行xml
<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>
myOnClick 事件处理程序
public void myOnClick(View view) {
TypeModule clickedModule = ((TypeModuleView) view).onClick();
if (clickedModule != null) { // In landscape layout
moduleContentFragment.setModuleParent(clickedModule);
moduleContentFragment.changePath("/");
// Added for module highlighting
expandableListFragment.setChildrenBackground(view);
}
}