ListActivity で設定している ActionBar に奇妙な問題があります。
メニューのセットアップに使用する XML は次のとおりです。
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item
android:id="@+id/menu_search"
android:title="@string/search_filter"
android:icon="@drawable/ic_search"
android:showAsAction="always|withText" />
<item
android:id="@+id/menu_start_date"
android:title="@string/date_filter"
android:showAsAction="always|withText" />
<item
android:id="@+id/menu_end_date"
android:title="@string/date_filter"
android:showAsAction="always|withText" />
<item
android:id="@+id/menu_filters"
android:title="@string/filters"
android:icon="@drawable/ic_filter"
android:showAsAction="always|withText">
<menu>
<item
android:id="@+id/menu_ratings"
android:title="@string/ratings"
android:icon="@drawable/ic_star"
android:showAsAction="always|withText" />
<item
android:id="@+id/menu_emotions"
android:title="@string/emotions"
android:icon="@drawable/ic_smi2"
android:showAsAction="always|withText" />
<item
android:id="@+id/menu_categories"
android:title="@string/categories"
android:icon="@drawable/ic_folder"
android:showAsAction="always|withText" />
</menu>
<item
android:id="@+id/menu_search_order"
android:title="@string/search_order"
android:icon="@drawable/ic_search_order"
android:showAsAction="ifRoom|withText" />
</item>
</menu>
メニュー項目menu_search
、menu_start_date
、menu_end_date
およびサブメニューmenu_filters
は正常に機能していますが、物理メニュー ボタンからメニューを取得することはできmenu_search_order
ません (ボタンを押しても何も起こりません)。
そこで、問題がサブメニューに起因するものではないかどうかを確認するために少しテストを行い、コードを変更してサブメニュー部分にコメントを付けました。
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item
android:id="@+id/menu_search"
android:title="@string/search_filter"
android:icon="@drawable/ic_search"
android:showAsAction="always|withText" />
<item
android:id="@+id/menu_start_date"
android:title="@string/date_filter"
android:showAsAction="always|withText" />
<item
android:id="@+id/menu_end_date"
android:title="@string/date_filter"
android:showAsAction="always|withText" />
<item
android:id="@+id/menu_filters"
android:title="@string/filters"
android:icon="@drawable/ic_filter"
android:showAsAction="always|withText">
<!-- <menu>
<item
android:id="@+id/menu_ratings"
android:title="@string/ratings"
android:icon="@drawable/ic_star"
android:showAsAction="always|withText" />
<item
android:id="@+id/menu_emotions"
android:title="@string/emotions"
android:icon="@drawable/ic_smi2"
android:showAsAction="always|withText" />
<item
android:id="@+id/menu_categories"
android:title="@string/categories"
android:icon="@drawable/ic_folder"
android:showAsAction="always|withText" />
</menu> -->
<item
android:id="@+id/menu_search_order"
android:title="@string/search_order"
android:icon="@drawable/ic_search_order"
android:showAsAction="ifRoom|withText" />
</item>
</menu>
この変更後、メニューはうまく機能し、物理メニュー ボタンを押すとオプションが表示されます。
私の質問は、サブメニューが最初のケースで最後のメニューの表示をブロックしているのはなぜですか?
ありがとうございました!