/* * We call super.onBackPressed(); when the stack entry count is > 0. if it * is instanceof ProductListFragment or if the stack entry count is == 0, then * we finish the activity. * In other words, from ProductListFragment on back press it quits the app. */ @Override public void onBackPressed() { FragmentManager fm = getSupportFragmentManager(); if (fm.getBackStackEntryCount() > 0) { super.onBackPressed(); } else if (contentFragment instanceof ProductListFragment || fm.getBackStackEntryCount() == 0) { finish(); } }
public void clearBackStack() { FragmentManager manager = getSupportFragmentManager(); if (manager.getBackStackEntryCount() > 0) { FragmentManager.BackStackEntry first = manager.getBackStackEntryAt(0); manager.popBackStack(first.getId(), FragmentManager.POP_BACK_STACK_INCLUSIVE); } }
@Override public boolean onOptionsItemSelected(MenuItem item) { int itemId = item.getItemId(); if (itemId == android.R.id.home) { FragmentManager fm = getSupportFragmentManager(); if (fm.getBackStackEntryCount() > 0) { fm.popBackStack(); setupBaseLayout(); return true; } } else if (itemId == R.id.menu_search) { FragmentTransaction ft = getSupportFragmentManager().beginTransaction(); if (mSearchFragment == null) { mSearchFragment = ThemeSearchFragment.newInstance(); } ft.add(R.id.theme_browser_container, mSearchFragment, ThemeSearchFragment.TAG); ft.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_FADE); ft.addToBackStack(null); ft.commit(); return true; } return super.onOptionsItemSelected(item); }
@Override public void onBackPressed() { FragmentManager manager = getSupportFragmentManager(); long currentTimeMillis = System.currentTimeMillis(); if (manager.getBackStackEntryCount() == 0) { boolean shouldExit = ((currentTimeMillis - lastBackPressTime) / 1000) < 3000; if (shouldExit) { super.onBackPressed(); } else { Toast.makeText(this, "Press back again to exit", Toast.LENGTH_LONG).show(); } } else { // If there are back-stack entries, leave the FragmentActivity // implementation take care of them. // super.onBackPressed(); manager.popBackStack(); if (preTitle1 != null) { tv_thu_menu.setText(preTitle1); preTitle1 = null; } else if (preTitle != null) { tv_thu_menu.setText(preTitle); if (preTitle.equalsIgnoreCase(weekDay)) { tv_ngay_menu.setVisibility(View.VISIBLE); } else { tv_ngay_menu.setVisibility(View.GONE); } preTitle = null; } } lastBackPressTime = currentTimeMillis; }
@Override public void onBackPressed() { if (fragmentManager.getBackStackEntryCount() > 0) { fragmentManager.popBackStackImmediate(); return; } super.onBackPressed(); }
private void pushBackStackEntry() { if (mBackStackLevel != null) { return; } FragmentManager fragMan = getFragmentManager(); mBackStackLevel = fragMan.getBackStackEntryCount(); fragMan.beginTransaction().addToBackStack(BACK_STACK_INPUT).commit(); fragMan.addOnBackStackChangedListener(this); }
private void clearBackStack() { FragmentManager fragmentManager = MainActivity.getInstance().getSupportFragmentManager(); int count = fragmentManager.getBackStackEntryCount(); if (count > 0) { BackStackEntry entry = fragmentManager.getBackStackEntryAt(0); fragmentManager.popBackStack(entry.getId(), FragmentManager.POP_BACK_STACK_INCLUSIVE); popAllFragment(); } }
@Override public void onBackPressed() { if (drawer.isDrawerOpen()) { drawer.closeDrawer(); } else if (!curFrag.onBackPressed()) { if (fragmentManager.getBackStackEntryCount() == 0) drawer.openDrawer(); else super.onBackPressed(); } }
@Override public void onBackPressed() { FragmentManager fragmentManager = getSupportFragmentManager(); if (fragmentManager.getBackStackEntryCount() > 0) { fragmentManager.popBackStack(); } else { super.onBackPressed(); } }
@Override public void switchToWelcome() { for (int i = 0; i < fm.getBackStackEntryCount(); ++i) { fm.popBackStack(); } Intent intent = new Intent(this, WelcomeActivity.class); startActivity(intent); }
@Override public void onBackStackChanged() { FragmentManager fragMan = getFragmentManager(); if (mBackStackLevel != null && fragMan.getBackStackEntryCount() == mBackStackLevel) { fragMan.removeOnBackStackChangedListener(this); switchState(BackupCodeState.STATE_DISPLAY, true); mBackStackLevel = null; } }
// 返回键返回事件 @Override public boolean onKeyDown(int keyCode, KeyEvent event) { if (KeyEvent.KEYCODE_BACK == keyCode) { if (mFragmentManager.getBackStackEntryCount() == 1) { finish(); return true; } } return super.onKeyDown(keyCode, event); }
@Override public void customOnNavigateUp() { final FragmentManager manager = getSupportFragmentManager(); if (manager.getBackStackEntryCount() == 0) { NavUtils.navigateUpFromSameTask(this); return; } manager.popBackStack(); }
// 切界面 public void changeFrament(Fragment fragment, Bundle bundle, String tag) { for (int i = 0, count = fragmentManager.getBackStackEntryCount(); i < count; i++) { fragmentManager.popBackStack(); } FragmentTransaction fg = fragmentManager.beginTransaction(); fragment.setArguments(bundle); fg.add(R.id.fragmentRootLinearLayout, fragment, tag); fg.addToBackStack(tag); fg.commitAllowingStateLoss(); }
private void popFragmentStack() { if (((MainActivity) getActivity()).getOnKeyBackPressedListener() instanceof FanFragment) { if (mFM.getBackStackEntryCount() > 0) { mFM.popBackStack(); } else { MainActivity activity = (MainActivity) getActivity(); activity.setOnKeyBackPressedListener(null); activity.onBackPressed(); } } }
public void clearTop() { FragmentManager fm = getSupportFragmentManager(); if (fm.getBackStackEntryCount() > 0) try { fm.popBackStackImmediate( fm.getBackStackEntryAt(0).getId(), FragmentManager.POP_BACK_STACK_INCLUSIVE); } catch (IllegalStateException e) { // Random error clearing to top. Not critical if this did not succeed, no need to crash. if (ConnectedApp.DEBUG) throw e; } }
@Override public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK) { FragmentManager fragmentManager = getSupportFragmentManager(); if (fragmentManager.getBackStackEntryCount() > 1) { fragmentManager.popBackStack(); return false; } } return super.onKeyDown(keyCode, event); }
@Override public void onNavigationDrawerItemSelected(int position) { FragmentManager fragmentManager = getSupportFragmentManager(); Fragment nextFragment; // Bug Fix: if the last fragment was the movie detail frag and you are in portrait mode on a // tablet clicking on the list view item will only reload the detail fragment if (fragmentManager.getBackStackEntryCount() != 0) { FragmentManager.BackStackEntry fragEntry = fragmentManager.getBackStackEntryAt(fragmentManager.getBackStackEntryCount() - 1); if (fragEntry != null) { String fragName = fragEntry.getName(); if (fragName != null && fragName.equalsIgnoreCase("Book Detail")) { int currentOrientation = getResources().getConfiguration().orientation; if (currentOrientation == Configuration.ORIENTATION_PORTRAIT) { getSupportFragmentManager().popBackStackImmediate(); } } } } switch (position) { default: case 0: nextFragment = new ListOfBooks(); break; case 1: nextFragment = new AddBook(); break; case 2: nextFragment = new About(); break; } fragmentManager .beginTransaction() .replace(R.id.container, nextFragment) .addToBackStack((String) title) .commit(); }
// ======================== FRAGMENT CALLBACKS ==================== @Override public void onBackStackChanged() { boolean canback = fragmentManager.getBackStackEntryCount() > 0; getSupportActionBar().setDisplayHomeAsUpEnabled(canback); Log.d("", "onBackStackChanged"); if (!canback) { TextView tv = (TextView) getSupportActionBar().getCustomView().findViewById(R.id.action_bar_title); tv.setText("Albums"); } }
@Override public boolean onCreateOptionsMenu(Menu menu) { if (HAS_ACTIONBAR) { boolean hasBackStack = mFragmentManager.getBackStackEntryCount() > 0; ActionBar actionBar = getActionBar(); actionBar.setDisplayHomeAsUpEnabled(hasBackStack); actionBar.setHomeButtonEnabled(hasBackStack); } return true; }
public void clear() { FragmentElement fragmentElement = popInternal(); while (fragmentElement != null) { hide(fragmentElement.getFragment()); fragmentElement = popInternal(); } int backStackSize = fm.getBackStackEntryCount(); for (int i = 0; i < backStackSize; i++) { fm.popBackStack(); } }
@Override public void onBackPressed() { FragmentManager fm = getSupportFragmentManager(); if (mMenuDrawer.isMenuVisible()) { super.onBackPressed(); } else if (fm.getBackStackEntryCount() > 0) { fm.popBackStack(); setupBaseLayout(); } else { super.onBackPressed(); } }
@Override public void onBackStackChanged() { mPath = EXTERNAL_BASE_PATH; int count = mFragmentManager.getBackStackEntryCount(); if (count > 0) { BackStackEntry fragment = mFragmentManager.getBackStackEntryAt(count - 1); mPath = fragment.getName(); } setTitle(mPath); }
private void checkBackStack() { int stackHeight = mFM.getBackStackEntryCount(); if (stackHeight > 0) { // if we have something on the stack (doesn't include the current shown fragment) ((MainActivity) getActivity()).getSupportActionBar().setHomeButtonEnabled(true); ((MainActivity) getActivity()).getSupportActionBar().setDisplayHomeAsUpEnabled(true); actionSearch.setVisibility(View.GONE); } else { ((MainActivity) getActivity()).getSupportActionBar().setDisplayHomeAsUpEnabled(false); ((MainActivity) getActivity()).getSupportActionBar().setHomeButtonEnabled(false); actionSearch.setVisibility(View.VISIBLE); } }
@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(); }
@Override public void onBack() { if (((MainActivity) getActivity()).getOnKeyBackPressedListener() instanceof NotificationFragment) { if (mFM.getBackStackEntryCount() > 0) { mFM.popBackStack(); } else { MainActivity activity = (MainActivity) getActivity(); activity.setOnKeyBackPressedListener(null); activity.onBackPressed(); } } }
@Override public void onBackStackChanged() { int count = mFragmentManager.getBackStackEntryCount(); if (count > 0) { FragmentManager.BackStackEntry fragment = mFragmentManager.getBackStackEntryAt(count - 1); mPath = fragment.getName(); } else { mPath = EXTERNAL_BASE_PATH; } setTitle(mPath); if (HAS_ACTIONBAR) invalidateOptionsMenu(); }
@Override public void popFragment() throws Exception { boolean isLast = false; FragmentManager fm = getSupportFragmentManager(); if (fm.getBackStackEntryAt(fm.getBackStackEntryCount() - 1) .getName() .equals(FIRST_POPOVER_FRAGMENT_FLAG)) { isLast = true; } fm.popBackStack(); if (isLast) { viewHolder.showHideExtendFragment(View.GONE); } }
private void onSessionStateChange(Session session, SessionState state, Exception exception) { if (isResumed) { FragmentManager manager = getSupportFragmentManager(); int backStackSize = manager.getBackStackEntryCount(); for (int i = 0; i < backStackSize; i++) { manager.popBackStack(); } if (state.isOpened()) { showFragment(SELECTION, false); } else if (state.isClosed()) { showFragment(SPLASH, false); } } }
@Override public void goBack() { FragmentManager fragmentManager = getSupportFragmentManager(); if (mDisplayMode == DisplayMode.MESSAGE_VIEW) { showMessageList(); } else if (fragmentManager.getBackStackEntryCount() > 0) { fragmentManager.popBackStack(); } else if (mMessageListFragment.isManualSearch()) { finish(); } else if (!mSingleFolderMode) { onAccounts(); } else { onShowFolderList(); } }