アクティビティに、アイテムの追加、オプション アイテム、オーバーフロー アイテムの 3 つのアイテムを含むアクション バーがあります。追加アイテムは常にアクション バーに表示されるように設定されているため、オーバーフロー アイテムも同様です。私の問題はオプション項目にあります-オーバーフローメニューに表示したいのですが、オーバーフロー項目(3つのドットのアイコン)をクリックしても何も起こりません。ただし、デバイスの組み込みメニュー ボタンをクリックすると、[オプション] 項目を含むオーバーフロー メニューが表示されます。
私の質問は、オーバーフロー アイコンをクリックしても何も起こらないのに、デバイスの組み込みメニュー ボタンをクリックするとオーバーフロー メニューが表示されるのはなぜですか?
これが私のXMLメニューコードです:
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto" >
<item
android:id="@+id/action_add"
android:icon="@drawable/ic_action_new"
android:showAsAction="ifRoom"
android:title="@string/action_add_ringtone"/>
<item
android:id="@+id/action_set_options"
android:showAsAction="never"
android:title="Options" />
<item
android:id="@+id/action_settings"
android:icon="@drawable/ic_action_overflow"
android:orderInCategory="100"
android:showAsAction="always"
android:title="@string/action_settings"/>
</menu>
onOptionsItemSelected の私の実装は次のとおりです。
@Override
public boolean onOptionsItemSelected(MenuItem item) {
int id = item.getItemId();
switch (id) {
case R.id.action_settings:
return super.onOptionsItemSelected(item);
case R.id.action_add:
pickRingtone(1000);
return true;
case android.R.id.home:
NavUtils.navigateUpFromSameTask(this);
return true;
}
return super.onOptionsItemSelected(item);
}