java Android:ExpandableListView和上下文菜单
我正在使用ExpandableListView编写一个应用程序
我使用BaseExpandableListAdapter的子类向我的ExpandableListView提供数据
然后,我尝试将上下文菜单添加到此视图,但对于可展开列表中的子项组,这些菜单应该不同。因此,在适配器的getChildView和getGroupView中,我调用setOnCreateContextMenuListener如下:
TextView textView = new TextView(TestActivity.this);;
textView.setText(getChild(groupPosition, childPosition).toString());
textView.setOnCreateContextMenuListener(new View.OnCreateContextMenuListener() {
@Override
public void onCreateContextMenu(ContextMenu menu, View v,
ContextMenu.ContextMenuInfo menuInfo) {
TestActivity.this.onCreateChildContextMenu(menu, v, menuInfo);
}
});
return textView;
测试性。这onCreateChildContextMenu只需在菜单中添加一些字符串
问题:
这工作得很好-上下文菜单出现并按预期工作,但组项无法再展开。它只是忽略了短点击。我已经检查了-正如预期的那样,文本视图在这一行之后变为isLongClickable(),但它仍然不可isClickable()-因此我看不出上下文菜单回调如何影响短点击功能
我已经为自己解决了这个问题,在整个ExpandableListView中添加了这个监听器,然后修补了儿童菜单。但它看起来很丑。我错过什么了吗
谢谢
# 1 楼答案
我发现了新的: 在getChildView中:
以及: