Androidアプリ入門 No.32 オプションメニューのActivityからの操作
オプションメニュー
オプションメニューのActivityからの操作
ここでは、オプションメニューのイベント処理を説明する。option_menu.xmlは以下のようになる。
<?xml version="1.0" encoding="utf-8"?> <menu xmlns:android="http://schemas.android.com/apk/res/android"> <item android:title="1番" android:icon="@drawable/ret" /> <item android:title="2番"> <menu> <item android:title="3番" /> <item android:title="4番" /> <item android:title="5番" /> </menu> </item> <item android:title="6番" /> <item android:title="7番" /> <item android:title="8番" /> <item android:title="9番" /> <item android:title="10番" /> </menu>
MainActivity.javaは以下のようにする。
package sample.at; import android.app.Activity; import android.os.Bundle; import android.view.Menu; import android.view.MenuInflater; import android.view.MenuItem; import android.widget.Toast; public class MainActivity extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); } @Override public boolean onCreateOptionsMenu(Menu menu) { MenuInflater inflater = getMenuInflater(); inflater.inflate(R.menu.option_menu, menu); return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { Toast.makeText(getApplicationContext(), item.getTitle(), Toast.LENGTH_SHORT).show(); return super.onOptionsItemSelected(item); } }
実行結果は以下。グループ化されているメニューの2番を押した際にもイベントが発生しているのがわかる。
オプションメニューをクリックされた際のイベントは、Activity#onCreateOptionsMenuとなる。定義は以下。
public boolean onOptionsItemSelected(MenuItem item)
引数は以下。
引数 | 説明 |
---|---|
item | 選択されたアイテム。 |