Android
を使用してアプリケーションを実装していますNavigation Drawer
が、問題があります。
Android Studio のテンプレート (ナビゲーション ドロワーを備えた Android アプリ) から開始し、新しいセクション - 設定を追加しました。設定ボタンをクリックすると、ユーザーは新しいアクティビティに移動し、ユーザーはアクションバーの「上へ」ボタンを押すか (これは完全に機能します)、物理的な戻るボタンを押すことで戻ることができます。その部分はあまりうまくいきません。
「上へ」ボタンを押してナビゲーションバーを開くと、マイページがハイライト(選択)されています。しかし、[戻る] ボタンを使用してナビゲーション ドロワーを開くと、ユーザーがホームページではなくそのページを表示しているかのように、[設定] 項目が選択されます。
これは、Navigation Drawer フラグメントが更新されておらず、この問題を解決する方法が見つからないためです。私が望むのは、Navigation Drawer を再作成することです (これは、「上」ボタンを押したときに起こると思います)。どうすればこれを実現できるか知っていますか?
私はこれに基づいて解決策に取り組み始めました:
getSupportFragmentManager().addOnBackStackChangedListener(
new FragmentManager.OnBackStackChangedListener() {
public void onBackStackChanged() {
// Update your UI here.
}
});
しかし、UI全体を更新するためにそこに何を書くべきかわかりません。(onCreate() を呼び出して実験しましたが、あまりにも醜く、正しい方法ではありません)。
助言がありますか?
アップデート:
別のアクティビティから BACK を押すと、onBackStackChanged イベントは送信されません。現在のアクティビティのフラグメントのみ。