List of usage examples for android.support.v4.app FragmentManager popBackStackImmediate
public abstract boolean popBackStackImmediate();
From source file:com.sonymobile.dronecontrol.activity.MainActivity.java
private void clearBackStack() { final FragmentManager fragmentManager = getSupportFragmentManager(); while (fragmentManager.getBackStackEntryCount() != 0) { fragmentManager.popBackStackImmediate(); }/*from w ww. j a v a 2 s. c om*/ }
From source file:com.jefftharris.passwdsafe.FileListActivity.java
/** * Change the view of the activity/* w w w .jav a 2 s .co m*/ */ private void doChangeView(ChangeMode mode, Fragment filesFrag, Fragment syncFrag) { boolean clearBackStack = false; boolean supportsBack = false; switch (mode) { case VIEW_FILES_INIT: { clearBackStack = true; break; } case VIEW_ABOUT: case VIEW_FILES: case VIEW_PREFERENCES: { supportsBack = true; break; } } FragmentManager fragMgr = getSupportFragmentManager(); FragmentTransaction txn = fragMgr.beginTransaction(); txn.setTransitionStyle(FragmentTransaction.TRANSIT_FRAGMENT_OPEN); if (clearBackStack) { //noinspection StatementWithEmptyBody while (fragMgr.popBackStackImmediate()) { // Clear back stack } } if (filesFrag != null) { txn.replace(R.id.files, filesFrag); } else { Fragment currFrag = fragMgr.findFragmentById(R.id.files); if ((currFrag != null) && currFrag.isAdded()) { txn.remove(currFrag); } } if (syncFrag != null) { txn.replace(R.id.sync, syncFrag); } else { Fragment currFrag = fragMgr.findFragmentById(R.id.sync); if ((currFrag != null) && currFrag.isAdded()) { txn.remove(currFrag); } } if (supportsBack) { txn.addToBackStack(null); } txn.commit(); }
From source file:com.dwdesign.tweetings.activity.LinkHandlerActivity.java
@Override public boolean onOptionsItemSelected(final MenuItem item) { switch (item.getItemId()) { case MENU_HOME: { final FragmentManager fm = getSupportFragmentManager(); if (isDualPaneMode()) { final int count = fm.getBackStackEntryCount(); if (count == 0) { onBackPressed();//from w w w . jav a 2 s . c om } else if (!FragmentManagerTrojan.isStateSaved(fm)) { for (int i = 0; i < count; i++) { fm.popBackStackImmediate(); } setSupportProgressBarIndeterminateVisibility(false); } } else { onBackPressed(); } break; } } return super.onOptionsItemSelected(item); }
From source file:org.mariotaku.twidere.activity.LinkHandlerActivity.java
@Override public boolean onOptionsItemSelected(final MenuItem item) { switch (item.getItemId()) { case MENU_HOME: { final FragmentManager fm = getSupportFragmentManager(); if (isDualPaneMode()) { final int count = fm.getBackStackEntryCount(); if (count == 0) { // NavUtils.navigateUpFromSameTask(this); onBackPressed();/*from w w w . ja v a 2 s .c o m*/ } else if (!FragmentManagerTrojan.isStateSaved(fm)) { for (int i = 0; i < count; i++) { fm.popBackStackImmediate(); } setSupportProgressBarIndeterminateVisibility(false); } } else { // NavUtils.navigateUpFromSameTask(this); onBackPressed(); } break; } } return super.onOptionsItemSelected(item); }
From source file:org.fuusio.api.flow.AbstractFlow.java
@Override @SuppressWarnings("uncheckked") public void goBack() { final FragmentManager fragmentManager = mFragmentContainer.getSupportFragmentManager(); int index = fragmentManager.getBackStackEntryCount() - 1; while (index >= 0) { final FragmentManager.BackStackEntry entry = fragmentManager.getBackStackEntryAt(index); final String tag = entry.getName(); final FlowFragment fragment = (FlowFragment) fragmentManager.findFragmentByTag(tag); if (isActiveView(fragment)) { fragmentManager.popBackStackImmediate(); index--;//from w w w . ja va 2s. c o m } else { mFragmentContainer.showFlowFragment(this, fragment, tag); mBackStackSize = fragmentManager.getBackStackEntryCount(); break; } } }
From source file:com.ereinecke.eatsafe.MainActivity.java
@Override public boolean onOptionsItemSelected(MenuItem item) { // Handle action bar item clicks here. The action bar will // automatically handle clicks on the Home/Up button, so long // as you specify a parent activity in AndroidManifest.xml. switch (item.getItemId()) { // respond to the action bar's Up/Home button. Should only be visible when // the TabPagerFragment isn't showing. case android.R.id.home: FragmentManager fm = getSupportFragmentManager(); fm.popBackStackImmediate(); showBackArrow(false);//from ww w. j a v a 2s . co m return true; case R.id.action_scan: launchScannerIntent(); return true; // noinspection SimplifiableIfStatement case R.id.action_login: if (isLoggedIn()) { logOut(); } else { DialogFragment loginDialog = new LoginDialog(); loginDialog.show(getSupportFragmentManager(), "login"); // getSupportFragmentManager().executePendingTransactions(); } return true; case R.id.action_sensitivities: SuperActivityToast.create(this, Utility.errorStyle()).setText(getString(R.string.no_sensitivities_yet)) .show(); return true; case R.id.action_about_off: // Call OFF webview launchWebFragment(getString(R.string.about_off), getString(R.string.off_domain)); return true; case R.id.action_about: launchAboutFragment(); return true; } return super.onOptionsItemSelected(item); }
From source file:com.btmura.android.reddit.app.AbstractBrowserActivity.java
private void safePopBackStackImmediate() { FragmentManager fm = getSupportFragmentManager(); if (fm.getBackStackEntryCount() > 0) { fm.removeOnBackStackChangedListener(this); fm.popBackStackImmediate(); fm.addOnBackStackChangedListener(this); }//www .j a va2 s. com }
From source file:org.mythdroid.activities.MDFragmentActivity.java
/** * Reset fragments - //from w w w . j a va2 s . c o m * Called when configuration (orientation) changes - * Default implementation replaces the fragment occupying the 'content' id * with a new instance of the same class */ protected void resetContentView() { FragmentManager fm = getSupportFragmentManager(); Fragment f = null; try { f = fm.findFragmentById(android.R.id.content); } catch (Exception e) { ErrUtil.reportErr(this, e); return; } if (f == null) { ErrUtil.reportErr(this, Messages.getString("MDFragmentActivity.0")); //$NON-NLS-1$ return; } Bundle args = f.getArguments(); try { f = f.getClass().newInstance(); } catch (Exception e) { ErrUtil.reportErr(this, e); return; } f.setArguments(args); fm.popBackStackImmediate(); FragmentTransaction ft = fm.beginTransaction().replace(android.R.id.content, f, f.getClass().getSimpleName()); if (fm.getBackStackEntryCount() > 0) ft.addToBackStack(null); ft.commitAllowingStateLoss(); fm.executePendingTransactions(); }
From source file:org.mythdroid.activities.Recordings.java
@Override protected void resetContentView() { final FragmentManager fm = getSupportFragmentManager(); ArrayList<String> backStackFrags = new ArrayList<String>(); // At this stage dualPane reflects the old configuration boolean dualPane = findViewById(R.id.recdetails) != null; /* The old backstack is useless now, save the relevant entries */ int backStackSize = fm.getBackStackEntryCount(); for (int i = 0; i < backStackSize; i++) { Fragment lf = fm.findFragmentById(R.id.reclistframe); Fragment df = fm.findFragmentById(R.id.recdetails); Fragment f = (!dualPane || df == null ? lf : df); backStackFrags.add(0, f.getClass().getName()); fm.popBackStackImmediate(); }/* ww w . j a v a 2s . c o m*/ setContentView(R.layout.recordings); dualPane = findViewById(R.id.recdetails) != null; // Now dualPane reflects the new configuration listFragment = new RecListFragment(); fm.beginTransaction().replace(R.id.reclistframe, listFragment).commitAllowingStateLoss(); fm.executePendingTransactions(); listFragment.setAdapter(recordings); // Restore the backstack for (String frag : backStackFrags) { // RecListFragment has handled this.. if (dualPane && frag.equals(RecDetailFragment.class.getName())) continue; try { FragmentTransaction ft = fm.beginTransaction(); Fragment f = (Fragment) Class.forName(frag).newInstance(); ft.replace((dualPane ? R.id.recdetails : R.id.reclistframe), f, f.getClass().getSimpleName()) .addToBackStack(null).commitAllowingStateLoss(); } catch (Exception e) { ErrUtil.reportErr(this, e); return; } } fm.executePendingTransactions(); }
From source file:nu.firetech.android.pactrack.frontend.MainActivity.java
@Override public void showParcel(long rowId, boolean forceRefresh) { FragmentManager manager = getSupportFragmentManager(); if (manager.findFragmentById(R.id.details_frag) == null) { // First load of fragment or one pane layout ParcelDetailsFragment newFragment = new ParcelDetailsFragment(); Bundle args = new Bundle(); args.putLong(ParcelDbAdapter.KEY_ROWID, rowId); if (forceRefresh) { args.putBoolean(ParcelDetailsFragment.FORCE_REFRESH, true); }/* ww w . jav a 2s .c om*/ newFragment.setArguments(args); int viewId = R.id.details_frag; boolean fullscreen = false; if (findViewById(viewId) == null) { viewId = R.id.fragment_container; fullscreen = true; // Avoid duplicated parcels in back stack if (manager.findFragmentById(viewId) instanceof ParcelDetailsFragment && ((ParcelDetailsFragment) manager.findFragmentById(viewId)).getCurrentRowId() == rowId) { manager.popBackStackImmediate(); } } FragmentTransaction transaction = manager.beginTransaction(); transaction.replace(viewId, newFragment); if (fullscreen) { transaction.addToBackStack(null); getSupportActionBar().setDisplayHomeAsUpEnabled(true); } transaction.commit(); } else { ParcelDetailsFragment fragment = (ParcelDetailsFragment) manager.findFragmentById(R.id.details_frag); fragment.switchParcel(rowId, forceRefresh); } if (findViewById(R.id.list_frag) != null) { ParcelListFragment list = (ParcelListFragment) manager.findFragmentById(R.id.list_frag); list.selectRowItem(rowId); if (forceRefresh) { list.refreshDone(); } } }