2022 Apr. 29.
2022 Apr. 10.
2022 Feb. 14.
2020 Mar. 22.
メニューリソースファイルを読み込み、選択された項目を処理するコード例
メニューリソースファイル作成
FILENAME.xml(ここではmy_option.xml)メニューリソースファイルを作成する。
(Android Studioで、プロジェクトのリソース中にmenuディレクトリがなくてもmenu xmlファイルを作成すると自動的に追加される)
その中で、"@+id/myItem1" "@+id/myItem2" "@+id/myItem3" の3つの項目を定義する。
my_option.xml
<?xml version="1.0" encoding="utf-8"?> <menu xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:android="http://schemas.android.com/apk/res/android"> <item android:id="@+id/myItem1" android:title="メニュー1" /> <item android:id="@+id/myItem2" android:title="メニュー2" /> <item android:id="@+id/myItem3" android:title="メニュー3" /> </menu>
アクティビティ上でメニューがタップされた時に、my_option.xmlの内容を読み込み、選択された項目を処理するjavaコード例
@Override public boolean onCreateOptionsMenu(Menu menu) { //my_option.xmlの内容を読み込む MenuInflater inflater = getMenuInflater(); inflater.inflate(R.menu.my_option, menu); // my_option.xmlは、コード上では R.menu.my_option と記述して参照する return true; } /* * メニュー各項目処理 */ @Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case R.id.myItem1: // WRITE YOUR CODE 1 HERE; return true; case R.id.myItem2: // WRITE YOUR CODE 2 HERE; return true; case R.id.myItem3: // WRITE YOUR CODE 4 HERE; return true; } return false; }
メニューリソースファイルを利用せず、コードのみで処理するkotlinコード例
解説 Androidアプリにオプションメニューを設定する方法 | mucchinのAndroid戦記
private val MyMenuID = 0 // メニューID // menu設置 override fun onCreateOptionsMenu(menu: Menu): Boolean { super.onCreateOptionsMenu(menu) menu.add(0, MyMenuID, 0, "Select File...") menu.add(0, MyMenuID + 1, 0, "Config...") return true } // menuアイテムがクリックされた時の処理 override fun onOptionsItemSelected(item: MenuItem): Boolean { when (item.getItemId()) { MyMenuID -> { // DO YOUR WORK ON MyMenuID return true } (MyMenuID + 1) -> { // DO YOUR WORK ON (MyMenuID + 1) return true } } return false }