Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/193.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java showPopup()与showDialog()的比较_Java_Android_Optionmenu - Fatal编程技术网

Java showPopup()与showDialog()的比较

Java showPopup()与showDialog()的比较,java,android,optionmenu,Java,Android,Optionmenu,mainMenuButton是工具栏左侧的ImageButton,单击时显示上下文菜单。为什么短按时,ContextMenu显示为对话框,长按时显示为弹出窗口?更具体地说,为什么在ContextMenuBuilder类中在一种情况下调用showPopup,在另一种情况下调用showDialog 这是我在主屏幕中设置main菜单按钮的地方。java在onCreate()中设置: onCreateContextMenu() mainMenuButton = myToolbar.findViewByI

mainMenuButton
工具栏左侧的
ImageButton
,单击时显示
上下文菜单。为什么短按时,
ContextMenu
显示为对话框,长按时显示为弹出窗口?更具体地说,为什么在
ContextMenuBuilder
类中在一种情况下调用
showPopup
,在另一种情况下调用
showDialog

这是我在
主屏幕中设置
main菜单按钮的地方。java
onCreate()中设置:

onCreateContextMenu()

mainMenuButton = myToolbar.findViewById(R.id.main_menu_button);
mainMenuButton.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View view) {
        view.showContextMenu();
    }
});
registerForContextMenu(mainMenuButton);
@Override
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo) {
    super.onCreateContextMenu(menu,v,menuInfo);
    MenuInflater inflater = getMenuInflater();
    inflater.inflate(R.menu.main_menu,menu);
}