フラグメントを使用する場合のAndroid Navigation Drawer画像とアップキャレットの切り替え
Navigation Drawerを使用する場合、Android開発者は、ActionBarで「Navigation Drawerで表される画面のみに実際にNavigation Drawer画像を表示する」ことと、「他のすべての画面に従来のアップカラットを設定する」ことを推奨しています。 詳細はこちらをご覧ください:http : //youtu.be/F5COhlbpIbY 1つのアクティビティを使用して複数のレベルのフラグメントを制御し、ナビゲーションドロワーの画像を取得してすべてのレベルで機能させることができます。 下位レベルのフラグメントを作成するときに、ActionBarDrawerToggle setDrawerIndicatorEnabled(false)を呼び出してナビゲーションドロワーイメージを非表示にし、上向きキャレットを表示することができます LowerLevelFragment lowFrag = new LowerLevelFragment(); //disable the toggle menu and show up carat theDrawerToggle.setDrawerIndicatorEnabled(false); getSupportFragmentManager().beginTransaction().replace(R.id.frag_layout, lowFrag, "lowerFrag").addToBackStack(null).commit(); 私が抱えている問題は、元のナビゲーションドロワーイメージの代わりに、アップカラットが表示している最上位のフラグメントに戻ってナビゲートするときです。ナビゲーションドロワーの画像を再表示するために、トップレベルのフラグメントのActionBarを「更新」する方法に関する提案はありますか? 解決 トムの提案は私のために働いた。これが私がしたことです: 主な活動 このアクティビティは、アプリ内のすべてのフラグメントを制御します。 新しいフラグメントを準備して他のフラグメントを置き換えるとき、DrawerToggleを次のsetDrawerIndicatorEnabled(false)ように設定します。 LowerLevelFragment lowFrag = new LowerLevelFragment(); //disable the toggle menu and show up carat theDrawerToggle.setDrawerIndicatorEnabled(false); getSupportFragmentManager().beginTransaction().replace(R.id.frag_layout, lowFrag).addToBackStack(null).commit(); 次に、のオーバーライドでonBackPressed、DrawerToggleを次のsetDrawerIndicatorEnabled(true)ように設定して上記を元に戻しました。 …