0

フラグメントの状態をクリーンアップする方法はありますか?

私はそのような状況を意味します: フラグメント インスタンスを作成し (A と呼びましょう)、ID を渡してコンテンツをロードし、前のフラグメント (たとえば B) に戻ります。そして、もう一度 A に移動して NO ID を渡すと (デフォルト データをロードする必要があります)、以前の使用からの ID が既にあり、ロジックが壊れます。

4

1 に答える 1

0

「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();
于 2012-09-03T08:21:07.707 に答える