Android - 如何在替换另一个片段之前保存片段的状态?

Min*_*oid 1 android android-fragments

我在片段"A"调用中从服务器获取数据.当我用"B"替换"A"时,从"B"返回"A"后,每次调用片段"A",因此每次都会生成HTTPGET.如何避免这种情况并在活动中重用像REORDER_TO_FRONT这样的片段?

我正在使用此代码替换新片段

FragmentTransaction transaction = getSupportFragmentManager()
                .beginTransaction();
transaction.replace(R.id.rl_fragment_content, newFragment,
                backStackName);
transaction.addToBackStack(backStackName);
transaction.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_FADE);
        transaction.commit();
Run Code Online (Sandbox Code Playgroud)

当我背压时,

  Fragment fragment = null;
        fragment = getSupportFragmentManager().findFragmentByTag(
                    "some_fragment_name");
        FragmentTransaction transaction = getSupportFragmentManager()
                .beginTransaction();

        transaction.replace(R.id.rl_fragment_content, fragment);
        transaction.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_FADE);
        transaction.addToBackStack("some_fragment_name");
        transaction.commit();
Run Code Online (Sandbox Code Playgroud)

Sri*_*thi 6

只需使用,阻止您的片段重新充气视图,

if (view != null) {
//this will prevent the fragment from re-inflating(when you come back from B) 
            ViewGroup parent = (ViewGroup) view.getParent();
            parent.removeView(view);
        } else {
//inflate the view and do what you done in onCreateView()
        }
Run Code Online (Sandbox Code Playgroud)