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

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

Introduction

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

Prototype

public abstract boolean popBackStackImmediate(int id, int flags);

Source Link

Document

Like #popBackStack(int,int) , but performs the operation immediately inside of the call.

Usage

From source file:org.melky.geekjuniorapp.GeekJunior.java

@Override
public void onBackPressed() {
    final FragmentManager fragmentManager = getSupportFragmentManager();
    int i = fragmentManager.getBackStackEntryCount();
    if (i == 2 || !searchView.isIconified()) {
        fragmentManager.popBackStackImmediate("PlaceholderFragment", FragmentManager.POP_BACK_STACK_INCLUSIVE);
        mTitle = getString(R.string._header);
        restoreActionBar();/*  ww  w  .j  av  a2  s.  c  om*/
    } else if (i > 4) {
        fragmentManager.popBackStackImmediate("PlaceholderFragment2", FragmentManager.POP_BACK_STACK_INCLUSIVE);
        mTitle = getString(R.string.ph_buscar);
        restoreActionBar();
    } else {
        if (searchView.isIconified())
            super.onBackPressed();
    }
}

From source file:com.kasungunathilaka.sarigama.ui.HomeActivity.java

protected void setFragment(Fragment fragment) {

    String backStateName = fragment.getClass().getName();
    String fragmentTag = backStateName;

    android.support.v4.app.FragmentManager manager = getSupportFragmentManager();

    boolean fragmentPopped = manager.popBackStackImmediate(backStateName, 0);
    if (!fragmentPopped && manager.findFragmentByTag(fragmentTag) == null) { //fragment not in back stack, create it.
        android.support.v4.app.FragmentTransaction ft = manager.beginTransaction();
        if (backStateName.contentEquals(PlayerFragment.class.getName())) {
            ft.setCustomAnimations(R.anim.slide_in_below, R.anim.slide_out_top, R.anim.slide_in_top,
                    R.anim.slide_out_below);
        } else if (backStateName.contentEquals(MainFragment.class.getName())) {
            ft.setCustomAnimations(android.R.anim.fade_in, R.anim.slide_out_right);
        } else if (backStateName.contentEquals(ConnectionFailFragment.class.getName())) {
            ft.setCustomAnimations(android.R.anim.fade_in, android.R.anim.fade_out);
        } else {/*from  w ww . j ava2s .com*/
            ft.setCustomAnimations(R.anim.slide_in_right, R.anim.slide_out_left, R.anim.slide_in_left,
                    R.anim.slide_out_right);
        }
        ft.replace(R.id.fragment_layout, fragment, fragmentTag);
        if (!backStateName.contentEquals(MainFragment.class.getName())) {
            ft.addToBackStack(backStateName);
        }
        ft.commit();
    }
}

From source file:cn.edu.zafu.corepage.core.CorePageManager.java

/**
 * ?//from w  ww .j  ava  2 s.  co m
 * Fragement,?
 *
 * @param fragmentManager FragmentManager?
 * @param pageName ???
 * @param bundle ?
 * @param animations 
 * @return ?fragment
 */
public Fragment gotoPage(FragmentManager fragmentManager, String pageName, Bundle bundle, int[] animations) {
    Log.d(TAG, "gotoPage:" + pageName);
    Fragment fragment = null;
    if (fragmentManager != null) {
        fragment = fragmentManager.findFragmentByTag(pageName);
    }
    if (fragment != null) {
        fragmentManager.popBackStackImmediate(pageName, 0);
    } else {
        fragment = this.openPageWithNewFragmentManager(fragmentManager, pageName, bundle, animations, true);
    }
    return fragment;

}

From source file:com.cyanogenmod.eleven.ui.activities.HomeActivity.java

/**
 * Immediately clears the backstack//from  w  w w.j  a  v a  2  s  .  c  o  m
 */
protected void clearBackStack() {
    final FragmentManager fragmentManager = getSupportFragmentManager();
    if (fragmentManager.getBackStackEntryCount() > 0) {
        final int id = fragmentManager.getBackStackEntryAt(0).getId();
        fragmentManager.popBackStackImmediate(id, FragmentManager.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 w w  .j a v a2  s  .  c  om
            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);
        }
    }
}

From source file:com.ericsun.duom.Framework.Activity.BaseActivity.java

/**
 * fragment//  w ww  .ja v  a 2  s  . co  m
 */
public void removeAllFragment() {
    closeKeyBoard();
    if (backHome) {
        return;
    }
    FragmentManager manager = getSupportFragmentManager();
    manager.popBackStackImmediate(null, FragmentManager.POP_BACK_STACK_INCLUSIVE);
}

From source file:com.hyperaware.conference.android.activity.MainActivity.java

private void showSection(final Section section) {
    // Showing a section creates a new "root" fragment; everything else is popped off
    final FragmentManager fm = getSupportFragmentManager();
    fm.popBackStackImmediate(null, FragmentManager.POP_BACK_STACK_INCLUSIVE);
    fm.beginTransaction().replace(R.id.v_content, section.fragmentFactory.newFragment()).commit();

    appBarLayout.setExpanded(true, false);
    drawerLayout.closeDrawers();//from  w w w . ja  v a  2  s  .com
}

From source file:net.reichholf.dreamdroid.fragment.NavigationFragment.java

private void clearBackStack() {
    // Pop the backstack completely everytime the user navigates "away"
    // Avoid's "stacking" fragments due to back-button behaviour that feels
    // really mysterious
    FragmentManager fm = getActionBarActivity().getSupportFragmentManager();
    if (fm.getBackStackEntryCount() > 0) {
        fm.popBackStackImmediate(null, FragmentManager.POP_BACK_STACK_INCLUSIVE);
    }/*from  ww  w . j  a v  a  2  s .c o m*/
}

From source file:org.sufficientlysecure.keychain.ui.BackupCodeFragment.java

private void popBackStackNoAction() {
    FragmentManager fragMan = getFragmentManager();
    fragMan.removeOnBackStackChangedListener(this);
    fragMan.popBackStackImmediate(BACK_STACK_INPUT, FragmentManager.POP_BACK_STACK_INCLUSIVE);
    mBackStackLevel = null;/*www .j a v a 2 s. c om*/
}

From source file:com.rks.musicx.misc.utils.Helper.java

/**
 * Fragment Transition//from w ww . j a  va  2 s  .  c o  m
 *
 * @param activity
 * @param firstFragment
 * @param secondFragment
 */
@TargetApi(Build.VERSION_CODES.LOLLIPOP)
public static void setFragmentTransition(MainActivity activity, Fragment firstFragment, Fragment secondFragment,
        View view, String name, String tag) {
    if (activity == null) {
        return;
    }

    FragmentManager fragmentManager = activity.getSupportFragmentManager();

    boolean fragmentPopped = fragmentManager.popBackStackImmediate(tag, 0);

    if (fragmentPopped) {
        // fragment is pop from backStack
    } else {
        Transition transitionFade = TransitionInflater.from(activity)
                .inflateTransition(R.transition.change_image_transform);
        Transition transitionImage = TransitionInflater.from(activity)
                .inflateTransition(R.transition.change_image_transform);

        firstFragment.setSharedElementReturnTransition(transitionImage);
        firstFragment.setEnterTransition(transitionFade);
        firstFragment.setExitTransition(transitionFade);

        secondFragment.setSharedElementEnterTransition(transitionImage);
        secondFragment.setEnterTransition(transitionFade);
        secondFragment.setExitTransition(transitionFade);

        fragmentManager.beginTransaction().replace(R.id.container, secondFragment).addSharedElement(view, name)
                .addToBackStack(tag).commit();
    }
}