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

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

Introduction

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

Prototype

public abstract void popBackStack(int id, int flags);

Source Link

Document

Pop all back stack states up to the one with the given identifier.

Usage

From source file:org.sufficientlysecure.keychain.ui.transfer.view.TransferFragment.java

@Override
public void addFakeBackStackItem(final String tag) {
    FragmentManager fragmentManager = getFragmentManager();

    fragmentManager.beginTransaction().addToBackStack(tag).commitAllowingStateLoss();
    fragmentManager.executePendingTransactions();

    fragmentManager.addOnBackStackChangedListener(new OnBackStackChangedListener() {
        @Override//from  www  . ja v  a2 s. c  o m
        public void onBackStackChanged() {
            FragmentManager fragMan = getFragmentManager();
            fragMan.popBackStack(tag, FragmentManager.POP_BACK_STACK_INCLUSIVE);
            fragMan.removeOnBackStackChangedListener(this);

            presenter.onUiBackStackPop();
        }
    });
}

From source file:io.rapidpro.androidchannel.HomeActivity.java

private void showFragment(Fragment fragment, String tag, Bundle args, boolean clearBackStack) {
    FragmentManager manager = getSupportFragmentManager();
    FragmentTransaction ft = manager.beginTransaction();

    if (clearBackStack) {
        manager.popBackStack(null, FragmentManager.POP_BACK_STACK_INCLUSIVE);
    } else {//from   w w  w  . j  a v  a 2  s .c  om
        ft.addToBackStack(null);
    }

    ft.setCustomAnimations(0, 0);

    if (args != null) {
        fragment.setArguments(args);
    }

    ft.replace(R.id.content_view, fragment, tag).commit();
}

From source file:com.ovrhere.android.currencyconverter.ui.MainActivity.java

/** Loads a fragment either by adding or replacing and then adds it to
 * the #currFragTag.//from  w w w  .j  a  v  a 2  s .c  o  m
 * @param fragment The fragment to add
 * @param tag The tag to give the fragment
 * @param backStack <code>true</code> to allow a backstack, 
 * <code>false</code> to clear it.
 */
private void loadFragment(Fragment fragment, String tag, boolean backStack) {
    FragmentManager fragManager = getSupportFragmentManager();
    if (backStack && currFragTag != null) {
        fragManager.beginTransaction().addToBackStack(currFragTag).replace(R.id.container, fragment, tag)
                .commit();
    } else {
        //clear backstack
        fragManager.popBackStack(null, FragmentManager.POP_BACK_STACK_INCLUSIVE);
        fragManager.beginTransaction().replace(R.id.container, fragment, tag).commit();
    }
    checkHomeButtonBack();
    currFragTag = tag; //if we intent multiple fragments, we could use a stack
}

From source file:eu.e43.impeller.activity.MainActivity.java

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    if (m_drawerToggle.onOptionsItemSelected(item)) {
        return true;
    }/*w w w  .  j ava2s .  c  o  m*/

    switch (item.getItemId()) {
    case android.R.id.home:
        FragmentManager fm = getSupportFragmentManager();
        fm.popBackStack(null, FragmentManager.POP_BACK_STACK_INCLUSIVE);
        return true;

    case R.id.action_settings:
        startActivity(new Intent(this, SettingsActivity.class));
        return true;

    case R.id.action_about:
        startActivity(new Intent(this, AboutActivity.class));
        return true;

    default:
        return super.onOptionsItemSelected(item);
    }
}

From source file:org.coursera.android.shift.ShiftLauncherView.java

private void addFragment(FragmentActivity activity, Fragment fragment, String tag, boolean isVisible) {
    FragmentManager manager = activity.getSupportFragmentManager();
    Fragment oldInstance = manager.findFragmentByTag(tag);
    if (oldInstance == null) {
        FragmentTransaction transaction = manager.beginTransaction();
        transaction.add(android.R.id.content, fragment, tag);
        if (!isVisible) {
            transaction.hide(fragment);/*from  w  w  w  . j av  a2 s  .  co m*/
        } else if (tag.equals(TABS_TAG)) {
            manager.popBackStack(TABS_BACK_STACK, FragmentManager.POP_BACK_STACK_INCLUSIVE);
            transaction.addToBackStack(TABS_BACK_STACK);
        }
        transaction.commit();
    }
}

From source file:com.libreteam.taxi.Customer_Fragment_Activity.java

@Override
public void didPressLogOut() {
    /* changeable GPS setting by Ying */
    Taxi_System.changeGPS(getApplicationContext(), this);
    /**********************************/
    didHideMenu();/*  www . java 2s . co  m*/
    button.setVisibility(View.GONE);
    FragmentManager manager = getSupportFragmentManager();
    if (manager.getBackStackEntryCount() > 0) {
        FragmentManager.BackStackEntry first = manager.getBackStackEntryAt(0);
        manager.popBackStack(first.getId(), FragmentManager.POP_BACK_STACK_INCLUSIVE);
    }
    Socket.socketDidDisconnect();
    Taxi_System.addSystem(context, "token", "");
    didAddFragment(new Customer_Login(), "code", new String[] {}, true);
}

From source file:org.mariotaku.twidere.activity.support.DualPaneActivity.java

@Override
protected void onStart() {
    final FragmentManager fm = getSupportFragmentManager();
    if (!isDualPaneMode() && !FragmentManagerTrojan.isStateSaved(fm)) {
        // for (int i = 0, count = fm.getBackStackEntryCount(); i < count;
        // i++) {
        // fm.popBackStackImmediate();
        // }/*  w  ww .  j  a  v a  2 s .  c  o  m*/
        fm.popBackStack(null, FragmentManager.POP_BACK_STACK_INCLUSIVE);
    }
    super.onStart();
    final Resources res = getResources();
    final boolean is_large_screen = res.getBoolean(R.bool.is_large_screen);
    final boolean dual_pane_in_portrait = mPreferences.getBoolean(PREFERENCE_KEY_DUAL_PANE_IN_PORTRAIT,
            is_large_screen);
    final boolean dual_pane_in_landscape = mPreferences.getBoolean(PREFERENCE_KEY_DUAL_PANE_IN_LANDSCAPE,
            is_large_screen);
    final int orientation = res.getConfiguration().orientation;
    switch (orientation) {
    case Configuration.ORIENTATION_LANDSCAPE:
        if (mDualPaneInLandscape != dual_pane_in_landscape) {
            restart();
        }
        break;
    case Configuration.ORIENTATION_PORTRAIT:
        if (mDualPaneInPortrait != dual_pane_in_portrait) {
            restart();
        }
        break;
    }
}

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

@Override
public void onNavigationDrawerItemSelected(int position) {
    // update the main content by replacing fragments
    final FragmentManager fragmentManager = getSupportFragmentManager();

    //Consumo el stack de fragments pues navego a traves del Drawer
    fragmentManager.popBackStack(null, FragmentManager.POP_BACK_STACK_INCLUSIVE);

    switch (position) {
    case 0://from ww  w . j av a2 s  . co m
        fragmentManager.beginTransaction().replace(R.id.container, new GeekPostFragment(), "post")
                //.addToBackStack("init")
                .commit();
        break;
    case 1:
        new Handler().postDelayed(new Runnable() {
            public void run() {
                fragmentManager.beginTransaction().replace(R.id.container, new PlusOneGeekFragment())
                        .setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN).addToBackStack(null).commit();
            }
        }, 500);
        fragmentManager.beginTransaction().replace(R.id.container, new PlaceholderFragment(position))
                .addToBackStack("PlaceholderFragment").commit();
        break;
    case 2:
        getJsonToFragment("actualites", "category_name");
        fragmentManager.beginTransaction().replace(R.id.container, new PlaceholderFragment(position))
                .addToBackStack("PlaceholderFragment").commit();
        break;
    case 3:
        getJsonToFragment("applications", "category_name");
        fragmentManager.beginTransaction().replace(R.id.container, new PlaceholderFragment(position))
                .addToBackStack("PlaceholderFragment").commit();
        break;
    case 4:
        getJsonToFragment("jeux-video", "category_name");
        fragmentManager.beginTransaction().replace(R.id.container, new PlaceholderFragment(position))
                .addToBackStack("PlaceholderFragment").commit();
        break;
    case 5:
        getJsonToFragment("etudes", "category_name");
        fragmentManager.beginTransaction().replace(R.id.container, new PlaceholderFragment(position))
                .addToBackStack("PlaceholderFragment").commit();
        break;
    case 6:
        getJsonToFragment("astuces", "category_name");
        fragmentManager.beginTransaction().replace(R.id.container, new PlaceholderFragment(position))
                .addToBackStack("PlaceholderFragment").commit();
        break;
    case 7:
        getJsonToFragment("gadgets", "category_name");
        fragmentManager.beginTransaction().replace(R.id.container, new PlaceholderFragment(position))
                .addToBackStack("PlaceholderFragment").commit();
        break;
    case 8:
        getJsonToFragment("videos", "category_name");
        fragmentManager.beginTransaction().replace(R.id.container, new PlaceholderFragment(position))
                .addToBackStack("PlaceholderFragment").commit();
        break;
    case 9:
        getJsonToFragment("android", "category_name");
        fragmentManager.beginTransaction().replace(R.id.container, new PlaceholderFragment(position))
                .addToBackStack("PlaceholderFragment").commit();
        break;
    case 10:
        getJsonToFragment("iphone-ipad", "category_name");
        fragmentManager.beginTransaction().replace(R.id.container, new PlaceholderFragment(position))
                .addToBackStack("PlaceholderFragment").commit();
        break;
    case 11:
        getJsonToFragment("windows", "category_name");
        fragmentManager.beginTransaction().replace(R.id.container, new PlaceholderFragment(position))
                .addToBackStack("PlaceholderFragment").commit();
        break;
    case 12:
        getJsonToFragment("xbox", "category_name");
        fragmentManager.beginTransaction().replace(R.id.container, new PlaceholderFragment(position))
                .addToBackStack("PlaceholderFragment").commit();
        break;
    case 13:
        getJsonToFragment("playstation", "category_name");
        fragmentManager.beginTransaction().replace(R.id.container, new PlaceholderFragment(position))
                .addToBackStack("PlaceholderFragment").commit();
        break;
    case 14:
        getJsonToFragment("wiiu", "category_name");
        fragmentManager.beginTransaction().replace(R.id.container, new PlaceholderFragment(position))
                .addToBackStack("PlaceholderFragment").commit();
        break;
    case 15:
        getJsonToFragment("web", "category_name");
        fragmentManager.beginTransaction().replace(R.id.container, new PlaceholderFragment(position))
                .addToBackStack("PlaceholderFragment").commit();
        break;

    case 16:
        new Handler().postDelayed(new Runnable() {
            public void run() {
                fragmentManager.beginTransaction().replace(R.id.container, new LicenseGeekFragment())
                        .setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN).addToBackStack(null).commit();
            }
        }, 500);
        fragmentManager.beginTransaction().replace(R.id.container, new PlaceholderFragment(position))
                .addToBackStack("PlaceholderFragment").commit();
        break;
    }
    onSectionAttached(position);
}

From source file:com.LMO.capstone.KnoWITHerbalMain.java

public void selectItem(int position) {

    getSupportActionBar().setDisplayShowTitleEnabled(true);
    FragmentManager fm = getSupportFragmentManager();
    FragmentTransaction ft = fm.beginTransaction();
    fm.popBackStack(null, FragmentManager.POP_BACK_STACK_INCLUSIVE);
    switch (position) {
    case 0://from   w w  w.ja  v a2 s  .  com
        //            this.title = navTitles[0];
        ft.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN);
        ft.replace(R.id.frame_content, new Camera()).commit();
        break;
    case 1:
        //            this.title = navTitles[1];
        ft.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN);
        ft.replace(R.id.frame_content, new PlantList()).commit();
        break;
    case 2:
        //            this.title = navTitles[2];
        ft.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN);
        ft.replace(R.id.frame_content, new TheApplication()).commit();
        break;
    case 3:
        //            this.title = navTitles[3];
        ft.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN);
        ft.replace(R.id.frame_content, new OpenSourceLicense()).commit();
        break;
    }

    this.title = navTitles[position];
    drawerLayout.closeDrawer(drawer);
}

From source file:com.krayzk9s.imgurholo.activities.MainActivity.java

protected void selectItem(int position) {
    mDrawerList.setItemChecked(oldChecked, true);
    mDrawerLayout.closeDrawer(mDrawerList);
    FragmentManager fragmentManager = getSupportFragmentManager();
    fragmentManager.popBackStack(null, FragmentManager.POP_BACK_STACK_INCLUSIVE);
    switch (position) {
    case 0://from   w ww. j  av  a  2s.com
        mDrawerList.setItemChecked(position, true);
        oldChecked = position;
        GalleryFragment galleryFragment = new GalleryFragment();
        fragmentManager.beginTransaction().replace(R.id.frame_layout, galleryFragment).commit();
        break;
    case 1:
        if (apiCall.loggedin) {
            mDrawerList.setItemChecked(position, true);
            oldChecked = position;
            AccountFragment accountFragment = new AccountFragment();
            Bundle bundle = new Bundle();
            bundle.putString("username", "me");
            accountFragment.setArguments(bundle);
            fragmentManager.beginTransaction().replace(R.id.frame_layout, accountFragment).commit();
        } else {
            displayUpload();
        }
        break;
    case 2:
        if (apiCall.loggedin) {
            displayUpload();
        } else {
            LoginAsync loginAsync = new LoginAsync(apiCall, this);
            loginAsync.execute();
        }
        break;
    case 3:
        if (apiCall.loggedin) {
            mDrawerList.setItemChecked(position, true);
            oldChecked = position;
            ImagesFragment imagesFragment = new ImagesFragment();
            Bundle bundle = new Bundle();
            bundle.putString("imageCall", "3/account/me/images");
            imagesFragment.setArguments(bundle);
            fragmentManager.beginTransaction().replace(R.id.frame_layout, imagesFragment).commit();
        }
        break;
    case 4:
        if (apiCall.loggedin) {
            mDrawerList.setItemChecked(position, true);
            oldChecked = position;
            AlbumsFragment albumsFragment = new AlbumsFragment();
            Bundle bundle = new Bundle();
            bundle.putString("username", "me");
            albumsFragment.setArguments(bundle);
            fragmentManager.beginTransaction().replace(R.id.frame_layout, albumsFragment).commit();
        }
        break;
    case 5:
        if (apiCall.loggedin) {
            mDrawerList.setItemChecked(position, true);
            oldChecked = position;
            ImagesFragment imagesFragment = new ImagesFragment();
            Bundle bundle = new Bundle();
            bundle.putString("imageCall", "3/account/me/likes");
            imagesFragment.setArguments(bundle);
            fragmentManager.beginTransaction().replace(R.id.frame_layout, imagesFragment).commit();
        }
        break;
    case 6:
        if (apiCall.loggedin) {
            mDrawerList.setItemChecked(position, true);
            oldChecked = position;
            MessagingFragment messagingFragment = new MessagingFragment();
            fragmentManager.beginTransaction().replace(R.id.frame_layout, messagingFragment).commit();
        }
        break;
    case 7:
        if (apiCall.loggedin) {
            SharedPreferences settings = getSettings();
            SharedPreferences.Editor editor = settings.edit();
            editor.remove("AccessToken");
            editor.remove("RefreshToken");
            editor.commit();
            apiCall.loggedin = false;
            updateMenu();
        }
        break;
    }
}