私は動的にタグが付いたフラグメントを追加すると、親が破棄されても破棄されませんか?
ベースの活動は何も(BaseActivity)を持っていないことで、単純なのLinearLayoutを持つUIを構築するための一つの活性を使用していますアンドロイドアプリケーションおよびフラグメントの数を持っている
私はそれにフラグメントを追加(BaseFragment)
2つのフラグメントの1つを追加するには、すべての子をリスト(SerialFragment)として表示し、もう1つをウィザードスタイル(WizardFragment)で表示します。
これらの各c (質問の場合)
BaseActivityから移動すると、BaseFragmentのonDestroy()は呼び出されますが、onDestroy()は呼び出されません子断片の
私が(破壊されます)BaseFragmentと他人との間にそう
FragmentTransaction trans = parent.getFragmentManager().beginTransaction();
set_default_animation(trans); //this just adds a custom animation
trans.replace(R.id.wizard_content, QuestionFragment.NewInstance(),question_id.toString()); //in case of a wizard
trans.add(R.id.list_content,QuestionFragment.NewInstance(), question_id.toString());//in case of a list
trans.commit();
唯一の違いのような子断片を追加し、SECTION_ID(他の人に、私は彼らにタグを追加することですまたはquestion_id)を使用して、findFragmentByTagを使用してそれらを取得できます。
しかし、ユーザーがこのアクティビティから移動すると、BaseFragmentのonDestroy()が呼び出されます。
私はタグを使用して追加していない唯一のフラグメントであるという事実はこれですか?
私はサポートフラグメントマネージャーを使用していないことに注意してください。ノーサポートフラグメントマネージャーはgetFragments()を含んでいないので、必要なフラグメントを見つけるためにタグを使用します。
はまた、私は、私はタグを削除し、親のフラグメントへの参照を追加することにより、上記のをテストすることができ
上記の断片のいずれかにtrueにインスタンスを保持フラグを設定していないことに注意してください、それは意味しますそれが問題でない場合は、私が避けたいリファクタリングがたくさんあります。あなたはすべてをリファクタリングした後