バックスタックからフラグメントを削除する
2023-10-07 02:24:31
質問
タブレットを縦に持ったとき、アクティビティに 3 つのフラグメントがあります。しかし、横向きにすると、これらのフラグメントのうち2つしかありません。私が抱えている問題は、縦から横へ行くとき、アクティビティが3番目のフラグメントを作成することです。このフラグメントは作成できないので、エラーが表示されます。
私は、このフラグメントがバックスタックにあるために作成されていることを突き止めました。
onDestroyメソッドでフラグメントを削除するために
FragmentTransaction f = fragmentManager.beginTransaction();
f.remove(mf);
f.commit();
しかし、onSaveInstanceStateの後にこの関数を使用することはできないというエラーが発生します。
このフラグメントをバックスタックから取り出す正しい方法は何でしょうか。
更新
私が問題を抱えているフラグメントは、このライブラリの mapFragment であることを付け加えておく必要がありそうです。
https://github.com/petedoyle/android-support-v4-googlemaps
私の使い方はこんな感じです。
mf = MapFragment.newInstance(1, true);
ft = fragmentManager.beginTransaction();
ft.replace(R.id.mapContainer, mf);
ft.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_FADE);
ft.addToBackStack("map");
ft.commit();
どのように解決するのですか?
バックステートに
FragmentTransaction
を使ってバックスタックに追加し、バックスタックから削除するには
FragmentManager
pop メソッドを使ってバックスタックから削除します。
FragmentManager manager = getActivity().getSupportFragmentManager();
FragmentTransaction trans = manager.beginTransaction();
trans.remove(myFrag);
trans.commit();
manager.popBackStack();
関連
-
[解決済み】フラグメントMyFragmentがアクティビティにアタッチされない。
-
[解決済み] Bitmapオブジェクトに画像を読み込む際にOutOfMemoryが発生する問題
-
[解決済み] アプリケーションを終了することは嫌われますか?
-
[解決済み] FragmentでonActivityResultが呼び出されない
-
[解決済み] フラグメントのインスタンス状態をバックスタックに正しく保存する方法は?
-
[解決済み] ViewPagerとフラグメント - フラグメントの状態を保存する正しい方法は何ですか?
-
[解決済み] FragmentのsetRetainInstance(boolean)を理解する。
-
[解決済み】「px」、「dip」、「dp」、「sp」の違いは?
-
[解決済み】フラグメントを使用してバックスタックをクリアする
-
[解決済み] RecyclerViewのアイテムに波及効果を追加する
最新
-
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で他のフラグメントに移動した後、ナビゲーションスタックをクリアする方法
-
[解決済み] SDカードからファイルを削除する方法を教えてください。
-
[解決済み] ArrayAdapter<myClass> の使用方法
-
[解決済み] XMLで矩形を描画できますか?
-
[解決済み] TabLayoutに対応したandroidデザインでタブテキストのフォントを変更する
-
[解決済み] Android端末がHDPI画面かMDPI画面かを確認する方法は?
-
[解決済み] ProjectScopeServices に Factory タイプのサービスはありません。
-
[解決済み] アダプタからActivityメソッドを呼び出す
-
[解決済み] ブルートゥースアプリケーションのテストにアンドロイドエミュレータを使用するには?
-
[解決済み] Recyclerviewと異なるタイプの行のインフレーションの処理