CopyPastor

Detecting plagiarism made easy.

Score: 1.990136428423594; Reported for: Exact paragraph match Open both answers

Possible Plagiarism

Reposted on 2018-05-13
by Khemraj

Original Post

Original - Posted on 2018-04-12
by Khemraj



            
Present in both answers; Present only in the new answer; Present only in the old answer;

Use this code to open your fragment. Your fragment will not create every time. It will get same fragment from stack if exist.

/** * replace or add fragment to the container * * @param fragment pass android.support.v4.app.Fragment * @param bundle pass your extra bundle if any * @param popBackStack if true it will clear back stack * @param findInStack if true it will load old fragment if found */ public void replaceFragment(Fragment fragment, @Nullable Bundle bundle, boolean popBackStack, boolean findInStack) { FragmentManager fm = getSupportFragmentManager(); FragmentTransaction ft = fm.beginTransaction(); String tag = fragment.getClass().getName(); Fragment parentFragment; if (findInStack && fm.findFragmentByTag(tag) != null) { parentFragment = fm.findFragmentByTag(tag); } else { parentFragment = fragment; } // if user passes the @bundle in not null, then can be added to the fragment if (bundle != null) parentFragment.setArguments(bundle); else parentFragment.setArguments(null); // this is for the very first fragment not to be added into the back stack. if (popBackStack) { fm.popBackStack(null, FragmentManager.POP_BACK_STACK_INCLUSIVE); } else { ft.addToBackStack(parentFragment.getClass().getName() + ""); } ft.replace(R.id.contenedor_principal, parentFragment, tag); ft.commit(); fm.executePendingTransactions(); }
use it like

**If your fragment is home or dashboard fragment then**
Fragment f = new YourFragment(); replaceFragment(f, null, true, true);
**Otherwise**
Fragment f = new YourFragment(); replaceFragment(f, null, false, true);
**Important** This code is not replacement of saving all states or variables in fragment. This code will useful because it will not create fragment instance again.
For saving all states and variables in fragment for future use see this [answer][1]

[1]: https://stackoverflow.com/a/17135346/6891563
Use this code to open your fragment. Your fragment will not create every time. It will get same fragment from stack if exist.

/** * replace or add fragment to the container * * @param fragment pass android.support.v4.app.Fragment * @param bundle pass your extra bundle if any * @param popBackStack if true it will clear back stack * @param findInStack if true it will load old fragment if found */ public void replaceFragment(Fragment fragment, @Nullable Bundle bundle, boolean popBackStack, boolean findInStack) { FragmentManager fm = getSupportFragmentManager(); FragmentTransaction ft = fm.beginTransaction(); String tag = fragment.getClass().getName(); Fragment parentFragment; if (findInStack && fm.findFragmentByTag(tag) != null) { parentFragment = fm.findFragmentByTag(tag); } else { parentFragment = fragment; } // if user passes the @bundle in not null, then can be added to the fragment if (bundle != null) parentFragment.setArguments(bundle); else parentFragment.setArguments(null); // this is for the very first fragment not to be added into the back stack. if (popBackStack) { fm.popBackStack(null, FragmentManager.POP_BACK_STACK_INCLUSIVE); } else { ft.addToBackStack(parentFragment.getClass().getName() + ""); } ft.replace(R.id.contenedor_principal, parentFragment, tag); ft.commit(); fm.executePendingTransactions(); }
use it like
**Update :**
If your fragment is home or dashboard fragment then
Fragment f = new YourFragment(); replaceFragment(f, null, true, true);
Otherwise
Fragment f = new YourFragment(); replaceFragment(f, null, false, true);
**Important** This code is not replacement of saving all states or variables in fragment. This code will useful because it will not create fragment instance again.
For saving all states and variables in fragment for future use see this [answer][1]

[1]: https://stackoverflow.com/a/17135346/6891563

        
Present in both answers; Present only in the new answer; Present only in the old answer;