1

Android 8 の AppCompat ライブラリでは機能しない非常に単純な使用例があります。

TabPagerIndicator を使用して切り替えることができる 2 つのフラグメントを含む 1 つのアクティビティがあります。最初のフラグメントは ActionBar に SubMenu を表示しますが、2 番目のフラグメントは表示しません。

アクティビティを開始すると、最初のフラグメントが表示されます。サブメニューをクリックすると、サブメニュー項目が正しく表示され、選択できるようになりました。ただし、フラグメント 2 にスワイプしてからもう一度戻ると、SubMenu をクリックしても何も起こりません。

ここで大きなコード ブロックを提供する代わりに、問題を示すサンプル プロジェクトを作成しました。github にあります: https://github.com/foens/appcompatsubmenu/

ショートカット:

私は何を間違っていますか?

4

1 に答える 1

0

コードが削除されたので、問題は解決されたと思います (この質問も解決されるはずです)。

ただし、暗い場所でのショット - 問題は、setHasOptionsMenu がないことである可能性があります。これがないと、タブを切り替えるときに onCreateOptionsMenu が確実に呼び出されず、メニューにデータが取り込まれません。

@Override
public void onActivityCreated(Bundle savedInstanceState) {
    super.onActivityCreated(savedInstanceState);

    setHasOptionsMenu(true);
}
于 2014-08-10T20:44:33.880 に答える