使用ImageButton打开ContextMenu

mad*_*ops 2 android

出于某种原因,我无法创建上下文菜单.

我在onCreate中有这些行:

btnMenu = (ImageButton) findViewById(R.id.btnMenu);

registerForContextMenu(btnMenu);
Run Code Online (Sandbox Code Playgroud)

并添加了方法:

@Override
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) {
    super.onCreateContextMenu(menu, v, menuInfo);
    MenuInflater inflater = getMenuInflater();
    inflater.inflate(R.menu.mainmenu, menu);
}
Run Code Online (Sandbox Code Playgroud)

我在res/menu中有一个名为mainmenu的xml文件:

<?xml version="1.0" encoding="utf-8"?>

<menu xmlns:android="http://schemas.android.com/apk/res/android">

    <item android:id="@+id/new_game"
    android:title="item1"
    />
    <item android:id="@+id/help"
    android:title="item2" 
    />

</menu>
Run Code Online (Sandbox Code Playgroud)

但是,当我点击图像按钮时,没有任何内容出现.

任何帮助表示赞赏.

nis*_*v4n 7

我已经尝试过你的代码了,它运行得很好.小心,您需要长按视图(在此示例中按钮),而不是短按.如果要显示上下文菜单以进行短暂单击,请尝试以下操作:

Button b = (Button) findViewById(R.id.button1);

registerForContextMenu(b);

b.setOnClickListener(new Button.OnClickListener() {
@Override
public void onClick(View v) {
    v.showContextMenu();
}   
});
Run Code Online (Sandbox Code Playgroud)