戻るボタンが押されたフラグメントではアクティビティが空白になる
2023-07-23 05:51:47
質問
アクティビティがあり、その中で多くのフラグメントが膨らんでいます。
FrameLayout
<FrameLayout
android:id="@+id/content_frame"
android:layout_width="match_parent"
android:layout_height="match_parent" />
例:mainActivity > 任意のフラグメント(戻るボタンを押す) > アクティビティは空白です。
onCreateで。
layout = (FrameLayout)findViewById(R.id.content_frame);
layout.setVisibility(View.GONE);
フラグメントを開始すると
FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
ft.replace(R.id.content_frame, profileFragment);
ft.addToBackStack(null);
ft.commit();
layout.setVisibility(View.VISIBLE);
frameLayoutの可視性を高める必要があるんでしょうね。
GONE
に戻す必要があると思いますが、どうすればよいでしょうか?
私は
onBackPressed
を設定し
layout.setVisibility(View.GONE);
を設定しましたが、メインページに直接移動してしまうため、フラグメントを戻ることができません。
どのように解決するのですか?
アクティビティで複数のフラグメントが使用されている場合、またはフラグメントが 1 つしかない場合、最初のフラグメントに addToBackStack が定義されていないはずです。これはバックナビゲーションを可能にし、このフラグメントの前に空のアクティビティレイアウトが表示されるからです。
// fragmentTransaction.addToBackStack() // dont include this for your first fragment.
しかし、他のフラグメントでは、これを定義しておく必要があります。そうしないと、バックが以前の画面(フラグメント)に移動せず、アプリケーションがシャットダウンする可能性があります。
関連
-
[解決済み] Androidでアクティビティ起動時にEditTextにフォーカスが当たらないようにする方法
-
[解決済み] インスタンス状態の保存を使用してアクティビティ状態を保存するにはどうすればよいですか?
-
[解決済み] Androidのローテーションでアクティビティを再開する
-
[解決済み] FragmentでonActivityResultが呼び出されない
-
[解決済み] ViewPagerでFragmentが表示されるタイミングを決定する方法
-
[解決済み] 新しいAndroid Fragmentをインスタンス化するためのベストプラクティス
-
[解決済み] Eclipseでのandroid:configChangesでのAdmobエラー
-
[解決済み] Android Navigation Architecture Component - 現在表示されているフラグメントを取得する
-
[解決済み] TabLayoutに対応したandroidデザインでタブテキストのフォントを変更する
-
[解決済み] Android: ランドスケープモード用の代替レイアウト xml
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] android: imageview の画像を画面に合わせて伸縮させる
-
[解決済み] BottomSheetDialogFragmentの状態をexpandedに設定する。
-
[解決済み] 深くネストされたスタックから離れるとき、Fragmentのバックスタックをクリーンアップする方法はこれで良いのでしょうか?
-
[解決済み] Android - タイトルバーに戻るボタンが表示される
-
[解決済み] getApplication()、getApplicationContext()、getBaseContext()、someClass.thisの違いと使い分け。
-
[解決済み] アンドロイドでシェイクを検出するには?
-
[解決済み] Gradleでビルドタイプを使用し、ContentProviderを使用する同じアプリを1つのデバイスで実行する。
-
[解決済み] FragmentPagerAdapterのgetItemが呼び出されない
-
[解決済み] グリッドビューの高さが削減される
-
[解決済み] Android Lintが翻訳されていない文字列を訴えないようにする。