SQLの窓 イラストAC フリー素材

2017年10月29日

Android のメニュー項目を条件が満たされた時のみ利用可能にする / onPrepareOptionsMenu

ちょっと検索しても出てこなかったのですが、onPrepareOptionsMenu が、メニューが表示される直前に実行されます。なので、最初に Disable にして、条件が合えば Enable にするという処理です。

▼ Android Studio での デザイン表示


▼ エミュレータでの表示


	@Override
	public boolean onPrepareOptionsMenu(Menu menu) {

		Log.i("lightbox","onPrepareOptionsMenu");

		menu.findItem(R.id.action_3).setEnabled(false);
		menu.findItem(R.id.action_4).setEnabled(false);
		menu.findItem(R.id.action_5).setEnabled(false);

		// 第二画面
		if ( helper.viewSwitcher.getDisplayedChild() == 1 ) {
			// 主キーが TextView で表示されているという事は、修正処理
			if (helper.getTextView(R.id.textViewCode).getVisibility() == View.VISIBLE) {
				// 削除処理以降を使用可能にする
				menu.findItem(R.id.action_3).setEnabled(true);
				menu.findItem(R.id.action_4).setEnabled(true);
				menu.findItem(R.id.action_5).setEnabled(true);
			}
		}

		return super.onPrepareOptionsMenu(menu);
	}




【Androidの最新記事】
posted by at 2017-10-29 22:23 | Android | このブログの読者になる | 更新情報をチェックする