Android ListView上下文菜单
我对上下文菜单有问题。 该活动有一个ListView。点击并按住该列表视图中的某个项目,就会出现一个上下文菜单,其中包含“删除”和“推送”两个项目。 这就是我使用的代码:Android ListView上下文菜单,android,android-listview,android-contextmenu,Android,Android Listview,Android Contextmenu,我对上下文菜单有问题。 该活动有一个ListView。点击并按住该列表视图中的某个项目,就会出现一个上下文菜单,其中包含“删除”和“推送”两个项目。 这就是我使用的代码: registerForContextMenu(list); 到目前为止效果很好 问题是,当我点击S3上的“设置按钮”时,ContextMenu也会出现。在这种情况下没有任何意义,因为未选择ListView的任何项。有可能抑制这种情况吗?(我不需要整个活动的上下文菜单,只需要ListView的项目。) 谢谢, Marc您应该检
registerForContextMenu(list);
到目前为止效果很好
问题是,当我点击S3上的“设置按钮”时,ContextMenu也会出现。在这种情况下没有任何意义,因为未选择ListView的任何项。有可能抑制这种情况吗?(我不需要整个活动的上下文菜单,只需要ListView的项目。)
谢谢,
Marc您应该检查
菜单信息
,并确定它是为列表中的项目创建的,还是您所说的任意创建的,或者您可以检查视图1
:
@Override
public void onCreateContextMenu(ContextMenu menu, View view1,
ContextMenuInfo menuInfo) {
super.onCreateContextMenu(menu, view1, menuInfo);
if(manuInfo is something){ // bla bla or you can check view1
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.context_menu, menu);
}else{
return;
}
}
这应该可以,如果不行,请告诉我。发现问题:
通过点击S3上的“设置按钮”,调用的不是onCreateContextMenu(),而是onCreateOptionsMenu(),它的意思是:getMenuInflater()。充气(R.menu.myActivity,menu)代码>。
删除该行后,一切正常。谢谢。我做了以下操作:if(view1==list){…}
。但它仍然不起作用。点击“设置”按钮,ContextMenu仍会出现。通过调试,我看到,在点击该按钮后,onCreateContextMenu()甚至没有被调用。