Java Code Examples for android.support.v4.app.FragmentManager#popBackStack()
The following examples show how to use
android.support.v4.app.FragmentManager#popBackStack() .
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: NavigatorHelper.java From Navigator with Apache License 2.0 | 6 votes |
public void goBackTo(String tag) throws NavigatorException { FragmentManager fragmentManager = ((FragmentActivity) mContext).getSupportFragmentManager(); if (fragmentManager.findFragmentByTag(tag) != null) { List<FragmentManager.BackStackEntry> fragmentList = fragmentList(); Collections.reverse(fragmentList); for (int i = 0; i < fragmentList.size(); i++) { if (!tag.equalsIgnoreCase(fragmentList.get(i).getName())) { fragmentManager.popBackStack(); } else { listStep.add(tag); return; } } } else { Log.e(TAG, "no fragment found"); String message = "Fragment with TAG[" + tag + "] not found into backstack entry"; throw new NavigatorException(message); } }
Example 2
Source File: BackHandlerHelper.java From FragmentBackHandler with Apache License 2.0 | 6 votes |
/** * 将back事件分发给 FragmentManager 中管理的子Fragment,如果该 FragmentManager 中的所有Fragment都 * 没有处理back事件,则尝试 FragmentManager.popBackStack() * * @return 如果处理了back键则返回 <b>true</b> * @see #handleBackPress(Fragment) * @see #handleBackPress(FragmentActivity) */ public static boolean handleBackPress(FragmentManager fragmentManager) { List<Fragment> fragments = fragmentManager.getFragments(); if (fragments == null) return false; for (int i = fragments.size() - 1; i >= 0; i--) { Fragment child = fragments.get(i); if (isFragmentBackHandled(child)) { return true; } } if (fragmentManager.getBackStackEntryCount() > 0) { fragmentManager.popBackStack(); return true; } return false; }
Example 3
Source File: HelloFacebookSampleActivity.java From FacebookNewsfeedSample-Android with Apache License 2.0 | 6 votes |
private void onFriendPickerDone(FriendPickerFragment fragment) { FragmentManager fm = getSupportFragmentManager(); fm.popBackStack(); String results = ""; Collection<GraphUser> selection = fragment.getSelection(); if (selection != null && selection.size() > 0) { ArrayList<String> names = new ArrayList<String>(); for (GraphUser user : selection) { names.add(user.getName()); } results = TextUtils.join(", ", names); } else { results = getString(R.string.no_friends_selected); } showAlert(getString(R.string.you_picked), results); }
Example 4
Source File: ActivityUtils.java From incubator-taverna-mobile with Apache License 2.0 | 5 votes |
public static void addFragmentToActivity(FragmentManager fragmentManager, Fragment fragment, int frameId) { for (int i = 0; i < fragmentManager.getBackStackEntryCount(); ++i) { fragmentManager.popBackStack(); } FragmentTransaction transaction = fragmentManager.beginTransaction(); transaction.replace(frameId, fragment); transaction.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_CLOSE); transaction.commit(); }
Example 5
Source File: DynamicActivity.java From Cangol-appcore with Apache License 2.0 | 5 votes |
@Override public boolean onNavigateUp() { FragmentManager fm = this.getSupportFragmentManager(); if (fm.getBackStackEntryCount() > 1) { fm.popBackStack(); return true; } else { finish(); return true; } }
Example 6
Source File: SinglePaneActivity.java From MongoExplorer with MIT License | 5 votes |
@Override public void onBackPressed() { FragmentManager fm = getSupportFragmentManager(); if (fm.getBackStackEntryCount() > 0) { fm.popBackStack(); return; } super.onBackPressed(); }
Example 7
Source File: ShiftLauncherView.java From shift with Apache License 2.0 | 5 votes |
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); } else if (tag.equals(TABS_TAG)) { manager.popBackStack(TABS_BACK_STACK, FragmentManager.POP_BACK_STACK_INCLUSIVE); transaction.addToBackStack(TABS_BACK_STACK); } transaction.commit(); } }
Example 8
Source File: DynamicActivity.java From Cangol-appcore with Apache License 2.0 | 5 votes |
@Override public void onBackPressed() { FragmentManager fm = this.getSupportFragmentManager(); if (fm.getBackStackEntryCount() > 1) { fm.popBackStack(); } else { finish(); } }
Example 9
Source File: CheckoutActivity.java From px-android with MIT License | 5 votes |
@Override public void onBackPressed() { final FragmentManager fragmentManager = getSupportFragmentManager(); if (fragmentManager != null) { final int backStackEntryCount = fragmentManager.getBackStackEntryCount(); Fragment fragment = fragmentManager.findFragmentByTag(TAG_OFFLINE_METHODS_FRAGMENT); if (fragment instanceof BackHandler) { final boolean shouldHandleBack = ((BackHandler) fragment).handleBack(); if (!shouldHandleBack) { return; } } fragment = fragmentManager.findFragmentByTag(CardFormWithFragment.TAG); if (fragment != null && fragment.getChildFragmentManager().getBackStackEntryCount() > 0) { fragment.getChildFragmentManager().popBackStack(); return; } if (backStackEntryCount > 0) { fragmentManager.popBackStack(); return; } fragment = FragmentUtil.getFragmentByTag(fragmentManager, PayButtonFragment.TAG, PayButtonFragment.class); if (fragment == null || !((PayButtonFragment) fragment).isExploding()) { super.onBackPressed(); } } }
Example 10
Source File: MainActivity.java From droidkaigi2016 with Apache License 2.0 | 5 votes |
@Override public void onBackPressed() { if (binding.drawer.isDrawerOpen(GravityCompat.START)) { binding.drawer.closeDrawer(GravityCompat.START); return; } FragmentManager fm = getSupportFragmentManager(); if (fm.getBackStackEntryCount() > 0) { fm.popBackStack(); return; } super.onBackPressed(); }
Example 11
Source File: MainActivity.java From android with MIT License | 5 votes |
@Override public void onBackPressed() { final FragmentManager fm = getSupportFragmentManager(); final Fragment fragment = fm.findFragmentByTag(Const.FragmentTags.MAP_INFO_EXPANDED); if (fragment != null) { fm.popBackStack(); } else { super.onBackPressed(); } }
Example 12
Source File: MainActivity.java From Androzic with GNU General Public License v3.0 | 5 votes |
@Override public boolean onOptionsItemSelected(MenuItem item) { // Handle action buttons switch (item.getItemId()) { case android.R.id.home: FragmentManager fm = getSupportFragmentManager(); if (fm.getBackStackEntryCount() > 0) { View v = getCurrentFocus(); if (v != null) { // Hide keyboard final InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); imm.hideSoftInputFromWindow(v.getWindowToken(), 0); } fm.popBackStack(); return true; } else { if (mDrawerToggle.onOptionsItemSelected(item)) { return true; } } default: return super.onOptionsItemSelected(item); } }
Example 13
Source File: MainActivity.java From bubble with MIT License | 5 votes |
private boolean popFragment() { FragmentManager fragmentManager = getSupportFragmentManager(); if (fragmentManager.getBackStackEntryCount() > 0) { fragmentManager.popBackStack(); return true; } return false; }
Example 14
Source File: ApplicationPreferencesActivity.java From Silence with GNU General Public License v3.0 | 5 votes |
@Override public boolean onSupportNavigateUp() { FragmentManager fragmentManager = getSupportFragmentManager(); if (fragmentManager.getBackStackEntryCount() > 0) { fragmentManager.popBackStack(); } else { Intent intent = new Intent(this, ConversationListActivity.class); intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); startActivity(intent); finish(); } return true; }
Example 15
Source File: MainActivity.java From Readily with MIT License | 5 votes |
private void startFileListFragment(){ FragmentManager fragmentManager = getSupportFragmentManager(); fragmentManager.popBackStack(null, FragmentManager.POP_BACK_STACK_INCLUSIVE); fragmentManager.beginTransaction(). replace(R.id.content_layout, new FileListFragment()). commit(); }
Example 16
Source File: MainActivity.java From Cangol-appcore with Apache License 2.0 | 5 votes |
@Override public boolean onNavigateUp() { FragmentManager fm = this.getSupportFragmentManager(); if(fm.getBackStackEntryCount()>1){ fm.popBackStack(); return true; }else{ super.onBackPressed(); return true; } }
Example 17
Source File: HomeActivity.java From SEAL-Demo with MIT License | 4 votes |
/** * This method allows to clear backStack */ public void clearFragmentBackStack() { // create a FragmentManager FragmentManager fm = getSupportFragmentManager(); fm.popBackStack(null, FragmentManager.POP_BACK_STACK_INCLUSIVE); }
Example 18
Source File: BaseLoginState.java From state-machine-android with MIT License | 4 votes |
protected void popFragment() { FragmentManager fragmentManager = getProvider().provideFragmentManager(); fragmentManager.popBackStack(); }
Example 19
Source File: NavigatorHelper.java From Navigator with Apache License 2.0 | 4 votes |
public void goBack() throws NavigatorException { FragmentManager fragmentManager = ((FragmentActivity) mContext).getSupportFragmentManager(); if (canGoBack(fragmentManager)) { fragmentManager.popBackStack(); } }
Example 20
Source File: MvcActivity.java From AndroidMvc with Apache License 2.0 | 4 votes |
private void performBackNav(final NavigationManager.Event.OnLocationBack event) { FragmentManager fm = getChildFragmentManager(); NavLocation lastLoc = event.getLastValue(); if (lastLoc != null) { String lastFragTag = getFragmentTag(lastLoc.getLocationId()); final MvcFragment lastFrag = (MvcFragment) fm.findFragmentByTag(lastFragTag); if (lastFrag != null) { lastFrag.onPopAway(); } } NavLocation currentLoc = event.getCurrentValue(); if (currentLoc == null) { MvcActivity act = (MvcActivity) getActivity(); act.actionsOnDestroy.add(new Runnable() { @Override public void run() { destroyNavigator(event.getNavigator()); pendingNavActions.remove(this); } }); MvcActivity mvcActivity = ((MvcActivity) getActivity()); //Back to null which should finish the current activity mvcActivity.performSuperBackKeyPressed(); mvcActivity.toPrintAppExitMessage = true; } else { String currentFragTag = getFragmentTag(currentLoc.getLocationId()); final MvcFragment currentFrag = (MvcFragment) fm.findFragmentByTag(currentFragTag); if (currentFrag != null) { traverseFragmentAndSubFragments(currentFrag, new FragmentManipulator() { @Override public void manipulate(Fragment fragment) { if (fragment != null && fragment instanceof MvcFragment) { final MvcFragment frag = ((MvcFragment) fragment); frag.aboutToPopOut = true; frag.registerOnViewReadyListener(new Runnable() { @Override public void run() { destroyNavigator(event.getNavigator()); frag.unregisterOnViewReadyListener(this); } }); } } }); } if (event.isFastRewind()) { if (currentLoc.getPreviousLocation() == null) { if (fm.getBackStackEntryCount() <= 1) { //Has reached bottom. Does nothing in this case return; } //Pop fragments to the last int stackCount = fm.getBackStackEntryCount(); int timesNeedToPop = 0; for (int i = 0; i < stackCount; i++) { if (currentFragTag.equals(fm.getBackStackEntryAt(i).getName())) { timesNeedToPop++; } } if (timesNeedToPop > 1) { for (int i = 0; i < stackCount - 1; i++) { fm.popBackStack(); } fm.executePendingTransactions(); } else { fm.popBackStack(currentFragTag, 0); } logger.trace("Navigation back: Fast rewind to home location {}", currentLoc.getLocationId()); } else { String tag = getFragmentTag(currentLoc.getLocationId()); fm.popBackStack(tag, 0); logger.trace("Navigation back: Fast rewind to given location {}", currentLoc.getLocationId()); } } else { fm.popBackStack(); logger.trace("Navigation back: On step back from {} to location {}", event.getLastValue() != null ? event.getLastValue().getLocationId() : null, currentLoc.getLocationId()); } } }