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:Main.java

private static void popFragmentView(FragmentManager fm, boolean immediate) {
    if (fm == null)
        return;/*from  w  w  w  . ja v  a2 s .  c om*/
    int flags = FragmentManager.POP_BACK_STACK_INCLUSIVE;
    if (immediate) {
        fm.popBackStackImmediate(null, flags);
    } else {
        fm.popBackStack(null, flags);
    }
}

From source file:com.apptentive.android.sdk.module.engagement.interaction.fragment.ApptentiveBaseFragment.java

public static void popBackStackImmediate(FragmentManager fragmentManager, String backStackName) {
    fragmentManager.popBackStackImmediate(backStackName, 1);
}

From source file:com.yallaya.fragments.FragmentsModule.java

public static void s_popBackStack(String name) {

    if (name.isEmpty()) {
        name = null;/* ww w .jav  a 2s  .  com*/
    }

    final FragmentActivity act = (FragmentActivity) TiApplication.getAppCurrentActivity();
    final FragmentManager fm = act.getSupportFragmentManager();

    final String tag = name;

    act.runOnUiThread(new Runnable() {
        public void run() {
            try {
                fm.popBackStackImmediate(tag, 1);
            } catch (Exception ex) {
                throw new RuntimeException("popBackStack exception: " + ex.getMessage());
            }
        }
    });

}

From source file:org.solovyev.android.messenger.fragments.MessengerMultiPaneFragmentManager.java

public void clearBackStack() {
    hideKeyboard();//from ww  w. j  a va2 s.com
    final FragmentManager fm = getActivity().getSupportFragmentManager();
    fm.popBackStackImmediate(null, FragmentManager.POP_BACK_STACK_INCLUSIVE);
}

From source file:app.presentation.foundation.views.BaseFragment.java

protected void replaceFragment(int id, Fragment fragment) {
    FragmentManager fragmentManager = getChildFragmentManager();
    fragmentManager.popBackStackImmediate(null, FragmentManager.POP_BACK_STACK_INCLUSIVE);
    fragmentManager.beginTransaction().replace(id, fragment, fragment.getClass().getSimpleName()).commit();
}

From source file:com.example.krishna.letsshield.MainActivity.java

void switchFragment(@NonNull Fragment fragment) {
    String backStateName = fragment.getClass().getName();

    FragmentManager manager = getSupportFragmentManager();
    boolean fragmentPopped = manager.popBackStackImmediate(backStateName, 0);

    if (!fragmentPopped) { //fragment not in back stack, create it.
        FragmentTransaction ft = manager.beginTransaction();
        ft.replace(R.id.frame_layout, fragment);
        ft.addToBackStack(backStateName);
        ft.commit();/*from  ww w .j  ava 2 s. co  m*/
    }
}

From source file:org.videolan.vlc.gui.MyFragment.java

private static void ShowFragment(FragmentActivity activity, String tag, Fragment fragment, String previous) {
    if (fragment == null) {
        Log.e(TAG, "Cannot show a null fragment, ShowFragment(" + tag + ") aborted.");
        return;// www.j a va  2  s . c o  m
    }

    FragmentManager fm = activity.getSupportFragmentManager();

    //abort if fragment is already the current one
    Fragment current = fm.findFragmentById(R.id.fragment_placeholder);
    if (current != null && current.getTag().equals(tag))
        return;

    //try to pop back if the fragment is already on the backstack
    if (fm.popBackStackImmediate(tag, 0))
        return;

    //fragment is not there yet, spawn a new one
    FragmentTransaction ft = fm.beginTransaction();
    ft.setCustomAnimations(R.anim.anim_enter_right, R.anim.anim_leave_left, R.anim.anim_enter_left,
            R.anim.anim_leave_right);
    ft.replace(R.id.fragment_placeholder, fragment, tag);
    ft.addToBackStack(previous);
    ft.commit();
}

From source file:com.microsoft.azure.engagement.MainActivity.java

/**
 * Method that replaces the current fragment
 *
 * @param item          The new menu item selected
 * @param fragmentClass The new fragment class
 *//*w  ww . j ava  2s  .  co m*/
private final void replaceFragment(MenuItem item, @NonNull Class<? extends Fragment> fragmentClass) {
    // Hide the in-app layout if it's visible
    hideNotificationOverlay();

    updateSelection(item);

    try {
        final Fragment fragment = fragmentClass.newInstance();

        if (getSupportActionBar() != null) {
            getSupportActionBar().setTitle(item.getTitle());
            getSupportActionBar().setDisplayShowTitleEnabled(fragment instanceof HomeFragment == false);
        }

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

        final FragmentManager fragmentManager = getSupportFragmentManager();
        final boolean fragmentPopped = fragmentManager.popBackStackImmediate(backStateName, 0);

        if (fragmentPopped == false) {
            //fragment not in back stack, create it.
            final FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
            fragmentTransaction.replace(R.id.fragmentPlaceHolder, fragment);
            fragmentTransaction.addToBackStack(backStateName);
            fragmentTransaction.commit();
        }
    } catch (Exception exception) {
        Log.e(MainActivity.TAG,
                "Unable to instantiate the fragment with class '" + fragmentClass.getSimpleName() + "'");
    }
}

From source file:org.videolan.vlc.gui.VLCMainActivity.java

private static void ShowFragment(FragmentActivity activity, String tag, Fragment fragment) {
    if (fragment == null) {
        Log.e(TAG, "Cannot show a null fragment, ShowFragment(" + tag + ") aborted.");
        return;/* w ww  .  j a  v a2  s  .c  om*/
    }

    FragmentManager fm = activity.getSupportFragmentManager();

    //abort if fragment is already the current one
    Fragment current = fm.findFragmentById(R.id.fragment_placeholder);
    if (current != null && current.getTag().equals(tag))
        return;

    //try to pop back if the fragment is already on the backstack
    if (fm.popBackStackImmediate(tag, 0))
        return;

    //fragment is not there yet, spawn a new one
    FragmentTransaction ft = fm.beginTransaction();
    ft.setCustomAnimations(R.anim.anim_enter_right, R.anim.anim_leave_left, R.anim.anim_enter_left,
            R.anim.anim_leave_right);
    ft.replace(R.id.fragment_placeholder, fragment, tag);
    ft.addToBackStack(tag);
    ft.commit();
}

From source file:org.fuusio.api.flow.AbstractFlow.java

@Override
public void clearBackStack() {
    final FragmentManager fragmentManager = mFragmentContainer.getSupportFragmentManager();

    if (fragmentManager.getBackStackEntryCount() > 0) {
        fragmentManager.popBackStackImmediate(null, FragmentManager.POP_BACK_STACK_INCLUSIVE);
    }/*ww  w .j av  a 2  s.  c  o  m*/
    mBackStackSize = 0;
}