OptionsMenuを表示する

Androidアプリケーションで、ハードキーのMenuボタンを押下された際に以下のようなOptions Menuを表示する。

   

 

public class DescriptionActivity extends Activity {
	private static final int OPTION_MENU_NUM = 1;
	private static final int OPTION_MENU_ABOUT = 0;	

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.description);
	}

	@Override
	public boolean onCreateOptionsMenu(Menu menu) { → これをオーバーライド
		super.onCreateOptionsMenu(menu);

		MenuItem[] menuItem = new MenuItem[OPTION_MENU_NUM];
		menuItem[OPTION_MENU_ABOUT] = menu.add(0, OPTION_MENU_ABOUT, 0, R.string.option_menu_item_about);
		menuItem[OPTION_MENU_ABOUT].setIcon(android.R.drawable.ic_menu_help);

		return true;
	}

	@Override
	public boolean onOptionsItemSelected(MenuItem item) { → これもオーバーライド
		int itemId = item.getItemId();

		if (itemId == OPTION_MENU_ABOUT) {
			AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(this);
			alertDialogBuilder.setTitle(R.string.about_dialog_title);
			alertDialogBuilder.setMessage(getString(R.string.app_name) + " " + getString(R.string.software_version) + "\n\n" +
				getString(R.string.about_dialog_description));
			alertDialogBuilder.setPositiveButton(R.string.about_dialog_positive_button_caption, new DialogInterface.OnClickListener() {
				@Override
				public void onClick(DialogInterface dialog, int which) {

				}
			});
			alertDialogBuilder.setCancelable(true);
			alertDialogBuilder.show();
		}

		return true;
	}
}