以前にAndroid SDKで「menu」ボタンでメニューを表示するでメニューを表示した。onCreateOptionsMenu()でメニュー項目を作り表示、onOptionsItemSelected()で選択されたメニュー項目を実行できる。
package com.Test128; import java.util.Calendar; import android.app.Activity; import android.os.Bundle; import android.util.Log; import android.view.Menu; import android.view.MenuItem; public class Test128Act extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); } @Override public boolean onCreateOptionsMenu(Menu menu) { super.onCreateOptionsMenu(menu); int nId = 0; menu.add(0,nId++,Menu.NONE,"AAA").setIcon(android.R.drawable.ic_menu_set_as); menu.add(0,nId++,Menu.NONE,"BBB"); menu.add(0,nId++,Menu.NONE,"CCC").setIcon(R.drawable.icon); return true; } @Override public boolean onPrepareOptionsMenu(Menu menu) { String str; str = Calendar.getInstance().getTime().toString(); menu.findItem(1).setTitle(str); return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { Log.d("Test124","MenuSelected " + item.getItemId() + " " + item.getTitle()); switch(item.getItemId()) { case 0: return true; case 1: return true; case 2: return true; default: break; } return super.onOptionsItemSelected(item); } }
これでメニューを動的に操作して、表示するたびにそのときの日時をメニューとして表示することができた。
プロジェクトファイルをダウンロード