Android開発 虎の巻

メニュー

■メニューの定義

resフォルダ内のmenuフォルダ内の main.xml に定義されている。

<menu xmlns:android="http://schemas.android.com/apk/res/android" > <item android:id="@+id/menu_test" android:orderInCategory="100" android:title="@string/action_settings"/> </menu>

menuタグ内にitemタグを作成しメニュー項目を作成。

◇属性

idメニューのID
orderInCategory順番。数値が小さい方が先。
titleメニュータイトル

■オプションメニューの作成

    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }

■オプションメニューによる処理

    public boolean onOptionsItemSelected(MenuItem item){
    	switch(item.getItemId()){
	    	case R.id.menu_test:
	    		//	メニュー選択時の処理
	    		break;
    	}
    	return false;
    }

■オプションメニューの動的追加

menu.add(グループID,メニューID,順番,タイトル);

	public boolean onCreateOptionsMenu(Menu menu) {
		getMenuInflater().inflate(R.menu.context, menu);
		return true;


	}

■コンテキストメニューの登録

	TextView tv = (TextView)findViewById(R.id.textView1);
	registerForContextMenu(tv);

■コンテキストメニューの処理

    public boolean onContextItemSelected(MenuItem item) {
    	 
        switch (item.getItemId()) {
        case R.id.menu_test1:
			//	メニュー毎の処理
            return true;
            
        case R.id.menu_test2:
			//	メニュー毎の処理
            return true;
        default:
            return super.onContextItemSelected(item);
        }
    }
Android開発 虎の巻