私は最初に書いたアプリを v2.2 をターゲットにするように変換している最中なので、v4 互換ライブラリと ActionBarSherlock を使用して v4 をターゲットにしています。
オプション メニューとサブメニューをいじって、ActionBar
サブメニュー項目を独自の方法で識別する方法を考え出そうとしています。
例...
@Override
public boolean onCreateOptionsMenu(Menu menu) {
SubMenu mediaSubMenu = menu.addSubMenu("Media");
mediaSubMenu.add("Videos");
mediaSubMenu.add("Music");
}
「メディア」のActionBar
メニュー項目が表示され、クリックすると「ビデオ」と「音楽」のサブメニュー項目が表示されます。私の問題は、クリックされたサブメニュー項目を特定するために私が解決した唯一の方法は次のとおりです...
@Override
public boolean onOptionsItemSelected(MenuItem item) {
super.onOptionsItemSelected(item);
if (item.getTitle().equals("Music")) {
// Do something
return true;
}
return false;
}
たとえば、「設定」->「音楽」など、同じ名前の別のサブメニュー項目があるかもしれません。
2つを区別するにはどうすればよいですか?ここで非常に単純なものが欠けていると感じずにはいられません。