4

サポート パッケージ リビジョン 18 に含まれている ActionBarActivity を拡張するアクティビティがあります。サブメニューを含むメニュー項目があり、アプリをロードすると正常に動作します。ただし、何らかの理由で supportInvalidateOptionsMenu() を呼び出すと、サブメニューがポップアップしなくなります。関連するコードは、メニューの xml になります。

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:myapp="http://schemas.android.com/apk/res-auto" >

<item
    android:id="@+id/menu_search"
    android:icon="@drawable/ic_search"
    android:title="@string/menu_search"
    myapp:actionViewClass="android.support.v7.widget.SearchView"
    myapp:showAsAction="always|collapseActionView"/>
<item
    android:id="@+id/menu_now_playing"
    android:icon="@drawable/ic_nowplaying"
    android:title="@string/menu_nowplaying"
    myapp:showAsAction="always"/>
<item
    android:id="@+id/menu_station_overflow"
    android:icon="@drawable/ic_overflow"
    android:title="@string/more"
    myapp:showAsAction="always">
    <menu>
        <item
            android:id="@+id/menu_favorite"
            android:icon="@drawable/ic_favorite"
            android:title="@string/favorite"/>
    </menu>
</item>

</menu>

そして、メニューを作成するコード

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    MenuInflater inflater = getMenuInflater();
    inflater.inflate(R.menu.main_activity, menu);
    return super.onCreateOptionsMenu(menu);
}

この問題は Gingerbread デバイスで発生しますが、android 4.x では問題ありません。ここで何が起こっているのか誰にも分かりませんか?

4

2 に答える 2

0

super.onCreateOptionsMenu(menu);常に false を返すため、返さないでください。true を返すだけです。

于 2013-08-19T21:11:38.717 に答える