フラグメントの状態をクリーンアップする方法はありますか?
私はそのような状況を意味します: フラグメント インスタンスを作成し (A と呼びましょう)、ID を渡してコンテンツをロードし、前のフラグメント (たとえば B) に戻ります。そして、もう一度 A に移動して NO ID を渡すと (デフォルト データをロードする必要があります)、以前の使用からの ID が既にあり、ロジックが壊れます。
フラグメントの状態をクリーンアップする方法はありますか?
私はそのような状況を意味します: フラグメント インスタンスを作成し (A と呼びましょう)、ID を渡してコンテンツをロードし、前のフラグメント (たとえば B) に戻ります。そして、もう一度 A に移動して NO ID を渡すと (デフォルト データをロードする必要があります)、以前の使用からの ID が既にあり、ロジックが壊れます。
「A」をbackstackに追加しないでください。したがって、 backstackには保存されません。戻って再び来るたびに追加されません。これはあなたが正しいことを望んでいますか?
// Instantiate a new fragment.
Fragment newFragment = CountingFragment.newInstance(mStackLevel);
// Add the fragment to the activity, pushing this transaction
// on to the back stack.
FragmentTransaction ft = getFragmentManager().beginTransaction();
ft.replace(R.id.simple_fragment, newFragment);
ft.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN);
//ft.addToBackStack(null);// Do not add to backstack here.(add every time new).
ft.commit();