2

何らかの理由で、コンテキスト メニューを作成できません。

onCreate に次の行があります。

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

registerForContextMenu(btnMenu);

そしてメソッドを追加しました:

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

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>

しかし、画像ボタンをクリックしても何も表示されません。

どんな助けでも大歓迎です。

4

1 に答える 1

7

私はあなたのコードを試しましたが、うまくいきました。短いクリックではなく、ビュー (この例ではボタン) を長押しする必要があることに注意してください。短いクリックでコンテキスト メニューを表示するには、次のようにします。

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

registerForContextMenu(b);

b.setOnClickListener(new Button.OnClickListener() {
@Override
public void onClick(View v) {
    v.showContextMenu();
}   
});
于 2012-08-20T00:50:14.337 に答える