Loading Fragments
Loading fragments can be tricky in certain scenarios.
But if you use the following code snippet to load fragments in your container, life becomes much simpler with this code.
public void loadFragment(Fragment fragment, boolean boolAddToBackStack, AppCompatActivity mActivity) {
FragmentManager fragmentManager = mActivity.getSupportFragmentManager();
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
String backStateName = fragment.getClass().getName();
boolean fragmentPopped = fragmentManager.popBackStackImmediate(backStateName, 0);
if (!fragmentPopped) {
//fragment not in back stack, create it.
fragmentTransaction.replace(R.id.frame_layout_container, fragment);
if (boolAddToBackStack) {
fragmentTransaction.addToBackStack(backStateName);
}
fragmentTransaction.commit();
}
}
Method loadFragment
takes three parameters, they are:
Fragment fragment:
Target fragment to be loadedboolean boolAddToBackStack:
If you want your fragment to be shown on back pressed send this flag as trueAppCompatActivity mActivity:
Current activity instance
Usage
Usage
CameraFragment cameraFragment = new CameraFragment();
loadFragment(cameraFragment, true, this);
Source code
Source code
Download complete source code from Github repository