List of usage examples for android.support.v4.app FragmentManager findFragmentById
public abstract Fragment findFragmentById(int id);
From source file:com.laevatein.internal.ui.helper.AlbumListViewHelper.java
public static void callOnDefaultSelect(final Fragment fragment, final AlbumListFragment.OnDirectorySelectListener listener, final Cursor cursor) { HandlerUtils.getMainHandler().post(new Runnable() { @Override//w w w . j av a 2 s .c o m public void run() { FragmentManager manager = fragment.getActivity().getSupportFragmentManager(); Fragment f = manager.findFragmentById(R.id.l_container_grid_fragment); if (f != null) { return; } cursor.moveToFirst(); callOnSelect(listener, cursor); } }); }
From source file:de.zell.android.util.fragments.FragmentReplacer.java
/** * Replaces the existing fragment on the given view with the new one. * If no fragment exists on the view the fragment is only placed. * The view is identified via the layout id. The backstack flag enables * fragment stacking./*from ww w. j ava 2 s. c o m*/ * * @param fgrMgr the fragment manager which is used to replace the frag * @param frg the new fragment which should be placed * @param id the view which gets the new fragment * @param backstack the flag which enables the backstack */ public static void replace(FragmentManager fgrMgr, Fragment frg, int id, boolean backstack) { if (fgrMgr == null || frg == null || id <= 0) throw new IllegalArgumentException(); Fragment old = fgrMgr.findFragmentById(id); FragmentTransaction trx = fgrMgr.beginTransaction(); if (old != null) { trx.remove(old); } trx.replace(id, frg); if (backstack) trx.addToBackStack(null); trx.commit(); }
From source file:com.apchernykh.todo.atleap.sample.ui.MainActivity.java
private static void replaceFragmentIfNeeded(FragmentActivity activity, int containerId, Class<? extends Fragment> fragmentClazz) { if (activity == null) { return;/*from w ww .j a v a 2 s . c o m*/ } FragmentManager fragmentManager = activity.getSupportFragmentManager(); Fragment fragment = fragmentManager.findFragmentById(containerId); if (fragment == null || !fragmentClazz.isAssignableFrom(fragment.getClass())) { try { fragment = fragmentClazz.newInstance(); NavUtil.replaceFragment(activity, containerId, fragment); } catch (InstantiationException ex) { Ln.e(ex, "Cannot create instance of fragment"); } catch (IllegalAccessException ex) { Ln.e(ex, "Cannot create instance of fragment"); } } }
From source file:Main.java
public static <T extends Fragment> T addFragmentToActivity(@NonNull FragmentManager fragmentManager, @NonNull Class<T> clz, @NonNull Integer frameId) { checkNotNull(fragmentManager);//from www .j av a 2 s . c om checkNotNull(clz); checkNotNull(frameId); T fragment = (T) fragmentManager.findFragmentById(frameId); if (fragment == null) { try { fragment = clz.newInstance(); FragmentTransaction transaction = fragmentManager.beginTransaction(); transaction.add(frameId, fragment); transaction.commit(); } catch (InstantiationException e) { e.printStackTrace(); } catch (IllegalAccessException e) { e.printStackTrace(); } } return fragment; }
From source file:com.hangulo.powercontact.util.Utils.java
public static void swapFragment(int container1, int container2, FragmentManager fm) { Fragment f1 = fm.findFragmentById(container1); Fragment f2 = fm.findFragmentById(container2); FragmentTransaction ft = fm.beginTransaction(); ft.remove(f1);/*from w w w . j av a 2s . c om*/ ft.remove(f2); ft.commit(); fm.executePendingTransactions(); ft = fm.beginTransaction(); ft.add(container1, f2); ft.add(container2, f1); //ft.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_FADE); ft.commit(); }
From source file:com.alex.utils.FragmentNavigator.java
public static void moveTo(FragmentManager fragmentManager, @NonNull Fragment fragment, @IdRes int containerId, boolean addToBackStack) { Fragment current = fragmentManager.findFragmentById(containerId); if (current == fragment) { return;/*from ww w. j a v a 2s. c o m*/ } final String tag = fragment.getTag(); FragmentTransaction transaction = fragmentManager.beginTransaction(); if (current == null) { transaction.add(containerId, fragment, tag); } else { transaction.replace(containerId, fragment, tag); transaction.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_FADE); if (addToBackStack) { transaction.addToBackStack(tag); } } transaction.commit(); // if (fragment == null) { // try { // target = Fragment.instantiate(context, fragment.getName(), args); // } catch (Exception e) { // // ignore // } // if (target == null) { // return; // } // // // } else { // if (current == target) { // return; // } // // set result // Intent intent = new Intent(); // if (args != null) { // intent.putExtras(args); // } // target.onActivityResult(REQUEST_CODE, Activity.RESULT_OK, intent); // boolean result = fragmentManager.popBackStackImmediate(tag, 0); // if (!result) { // fragmentManager.popBackStackImmediate(0, POP_BACK_STACK_INCLUSIVE); // } // } }
From source file:com.drcosu.ndileber.utils.ActivityUtils.java
/** * fragment /*from ww w . j a v a2s. c o m*/ * @param fragmentManager * @param fragmentId * @param myFragment * @param <T> * @return */ public static <T extends Fragment> T getFragment(@NonNull FragmentManager fragmentManager, @NonNull int fragmentId, @NonNull T myFragment) { Check.checkNotNull(fragmentManager); Check.checkNotNull(fragmentId); Check.checkNotNull(myFragment); T fragment = (T) fragmentManager.findFragmentById(fragmentId); if (fragment == null) { fragment = myFragment; addFragmentToActivity(fragmentManager, fragment, fragmentId); } return fragment; }
From source file:com.drcosu.ndileber.utils.ActivityUtils.java
/** * ?fragment??,??,fragment??? {@link #switchFragment(FragmentManager, int, Fragment, Fragment)} } * @param fragmentManager//from ww w.j a va 2s . co m * @param fragmentId * @param myFragment * @param <T> * @return */ public static <T extends Fragment> T replaceFragment(@NonNull FragmentManager fragmentManager, @NonNull int fragmentId, @NonNull T myFragment) { Check.checkNotNull(fragmentManager); Check.checkNotNull(fragmentId); Check.checkNotNull(myFragment); T fragment = (T) fragmentManager.findFragmentById(fragmentId); if (fragment == null) { fragment = myFragment; addFragmentToActivity(fragmentManager, fragment, fragmentId); } else { fragment = myFragment; FragmentTransaction transaction = fragmentManager.beginTransaction(); transaction.replace(fragmentId, fragment); transaction.commit(); } return fragment; }
From source file:com.tomeokin.lspush.ui.navigator.Navigator.java
public static void moveTo(Context context, FragmentManager fragmentManager, Class<? extends Fragment> fragment, Bundle args, @IdRes int containerId, boolean addToBackStack, int[] anim) { final String tag = fragment.getName(); Fragment current = fragmentManager.findFragmentById(containerId); Fragment target = fragmentManager.findFragmentByTag(tag); if (target == null) { try {//from w w w . j a v a 2s . c om target = Fragment.instantiate(context, fragment.getName(), args); } catch (Exception e) { // ignore } if (target == null) { return; } FragmentTransaction transaction = fragmentManager.beginTransaction(); if (anim == null || (anim.length != 2 && anim.length != 4)) { transaction.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_FADE); } else if (anim.length == 2) { transaction.setCustomAnimations(anim[0], anim[1]); } else { transaction.setCustomAnimations(anim[0], anim[1], anim[2], anim[3]); } if (current == null) { transaction.add(containerId, target, tag); } else { transaction.replace(containerId, target, tag); if (addToBackStack) { transaction.addToBackStack(tag); } } transaction.commit(); } else { if (current == target) { return; } // set result Intent intent = new Intent(); if (args != null) { intent.putExtras(args); } target.onActivityResult(REQUEST_CODE, Activity.RESULT_OK, intent); boolean result = fragmentManager.popBackStackImmediate(tag, 0); if (!result) { fragmentManager.popBackStackImmediate(0, POP_BACK_STACK_INCLUSIVE); } } }
From source file:com.alex.utils.FragmentNavigator.java
public static void moveTo(FragmentManager fragmentManager, @IdRes int containerId, Class<? extends Fragment> fragment, boolean addToBackStack, Context context, @Nullable Bundle args) { final String tag = fragment.getName(); Fragment current = fragmentManager.findFragmentById(containerId); Fragment target = fragmentManager.findFragmentByTag(tag); if (target == null) { try {/*from w ww. j av a 2s. co m*/ target = Fragment.instantiate(context, fragment.getName(), args); } catch (Exception e) { // ignore } if (target == null) { return; } FragmentTransaction transaction = fragmentManager.beginTransaction(); if (current == null) { transaction.add(containerId, target, tag); } else { transaction.replace(containerId, target, tag); transaction.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_FADE); if (addToBackStack) { transaction.addToBackStack(tag); } } transaction.commit(); } else { if (current == target) { return; } // set result Intent intent = new Intent(); if (args != null) { intent.putExtras(args); } target.onActivityResult(REQUEST_CODE, Activity.RESULT_OK, intent); boolean result = fragmentManager.popBackStackImmediate(tag, 0); if (!result) { fragmentManager.popBackStackImmediate(0, POP_BACK_STACK_INCLUSIVE); } } }