我有一个OnGroupClick方法来查看ExpandableListView中的特定组是否是一个组。组的模型有一个ChildItems列表,当它为null时,ExpandableListView不能尝试扩展,而只是执行特定于该GroupItem的代码。
我的代码有效:
mDrawerList.setOnGroupClickListener(new ExpandableListView.OnGroupClickListener() {
public boolean onGroupClick(ExpandableListView parent, View v, int groupPosition, long id) {
if (groupPosition == 0 || groupPosition == 3) {
Toast.makeText(MainActivity.this, "Start clicked", Toast.LENGTH_LONG).show();
return true;
} else
return false;
}
});
我尝试的是以下代码:
mDrawerList.setOnGroupClickListener(new ExpandableListView.OnGroupClickListener() {
public boolean onGroupClick(ExpandableListView parent, View v, int groupPosition, long id) {
JPPNavDrawerAdapter2 adapter = (JPPNavDrawerAdapter2) parent.getAdapter();
JPPNavDrawerAdapter2.GroupItem item = (JPPNavDrawerAdapter2.GroupItem) adapter.getGroup(groupPosition);
if (item.getChildren() == null) {
Toast.makeText(MainActivity.this, "Start clicked", Toast.LENGTH_LONG).show();
return true;
} else
return false;
}
});
当我运行此操作时,当我尝试点击某个项目时,我的应用程序崩溃了。这段代码有什么问题?我该如何解决这个问题?
答案 0 :(得分:0)
getAdapter()
方法不会返回您使用setAdapter()
定义的适配器实例。您必须改为使用getExpandableListAdapter()
。文档clearly states this。