少し複雑ですが、一般的な考え方は次のとおりです。
public void showPopup(View v) {
PopupMenu popup = new PopupMenu(this, v);
MenuInflater inflater = popup.getMenuInflater();
inflater.inflate(R.layout.menu, popup.getMenu());
popup.show();
}
このメソッドv
には、メニューを表示するためのビューがあります。
Override
ユーザーがメニューボタンを押すとメニューが表示されるように、メニューボタンを押す必要があります。以下をせよ
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if ( keyCode == KeyEvent.KEYCODE_MENU ) {
//Put the code for an action menu from the top here
return true;
}
return super.onKeyDown(keyCode, event);
}
そして、それ以外は通常のメニューと同じです(私は思います)