一部のフラグメントには追加のアクションがあり、ボタンとして に入れたいフラグメントベースのアプリがありますが、一部のフラグメントにはActionBar
そのようなアクションがありません。すべてのフラグメントのすべての項目を含む xml メニュー ファイルを作成し、次の組み合わせを使用して現在表示されているフラグメントに応じて、実行時に表示/非表示を切り替えます。
MenuItem item = menu.findItem(some_id);
item.setVisible(false);
MenuItem item = menu.findItem(some_other_id);
item.setVisible(true);
問題は、メニュー項目のないフラグメントを表示しているときに、デバイスの向きを変更してから、メニュー項目のある別のフラグメントに変更すると、それらの項目は表示されずActionBar
、デバイスの「メニュー」を使用してのみアクセスできることです。 " ボタン。
すべてのメニュー項目はandroid:showAsAction="always"
xml ファイルのように設定されていますActionBar
が、メニュー項目のないフラグメントを表示しているときに最後の向きの変更が行われた場合、常に に表示されません。これは、ポートレートからランドスケープへの変更とランドスケープからポートレートへの変更の両方で発生します。
ActionBar
アイテムが常に表示されるようにするにはどうすればよいですか?