Example usage for android.support.v4.app FragmentManager findFragmentById

List of usage examples for android.support.v4.app FragmentManager findFragmentById

Introduction

In this page you can find the example usage for android.support.v4.app FragmentManager findFragmentById.

Prototype

public abstract Fragment findFragmentById(int id);

Source Link

Document

Finds a fragment that was identified by the given id either when inflated from XML or as the container ID when added in a transaction.

Usage

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);
        }
    }
}