0

ボタンが押されたときに FragmentTransaction.replace を実行するカスタム ウィジェットがあります。現在、私のコードは、最初にフラグメントが作成されたときに、元々 xml レイアウト ファイルの一部ではないビューにたくさんのものを添付するように設定されています。

アプリを最初に起動すると、すべてのフラグメントが正しく表示されますが、フラグメント A から開始するとします。その後、フラグメント B に移行できます (B が正しく表示されます)。ただし、フラグメント A に戻ると、すべてのFragment Aのビューに添付したものはなくなりました。FragmentTransaction.replace が呼び出されたときに Fragment のビューが再生成されることを意味する onCreateView が呼び出されるために、これが発生することはわかっています。

FragmentTransaction.replace が呼び出されたときに、フラグメントにビューを再生成させる代わりに、フラグメントを維持する方法はありますか?

ありがとう!

4

1 に答える 1

0

fragmentTransaction.replace を使用する代わりに、fragmentTransaction.show と fragmentTransaction.hide を使用します。

これにより、フラグメントが破壊されるのを防ぐことができます。

于 2012-05-13T12:03:05.123 に答える