List of usage examples for android.support.v4.app FragmentManager getBackStackEntryCount
public abstract int getBackStackEntryCount();
From source file:r2b.apps.view.base.BaseActivity.java
/*** * Clear the back stack to its initial state. * Normally with the first fragment setted when activity is created firstly. *//*from w w w .ja va2 s . co m*/ public void clearBackStack() { android.support.v4.app.FragmentManager fragmentManager = getSupportFragmentManager(); while (fragmentManager.getBackStackEntryCount() > INITIAL_BACK_STACK_SIZE) { // If you use popBackStack you probably setup an infinite loop. fragmentManager.popBackStackImmediate(); } }
From source file:org.dmfs.android.microfragments.transitions.OverlayTransition.java
@NonNull @Override/*from w ww. j av a2 s. c o m*/ public FragmentTransaction updateTransaction(@NonNull Context context, @NonNull FragmentTransaction fragmentTransaction, @NonNull FragmentManager fragmentManager, @NonNull MicroFragmentHost host, @NonNull MicroFragment<?> previousStep) { Fragment fragment = mNextStep.fragment(context, host); Bundle args = new Bundle(1); args.putParcelable(ARG_ENVIRONMENT, new BasicMicroFragmentEnvironment<>(mNextStep, host)); fragment.setArguments(args); fragmentTransaction.add(R.id.microfragments_host, fragment); if (fragmentManager.getBackStackEntryCount() > 0 || !previousStep.skipOnBack()) { fragmentTransaction.addToBackStack(mNextStep.skipOnBack() ? "skip" : "noskip"); } return fragmentTransaction; }
From source file:org.dmfs.android.microfragments.transitions.ForwardTransition.java
@NonNull @Override//w ww . j a v a 2s . c o m public FragmentTransaction updateTransaction(@NonNull Context context, @NonNull FragmentTransaction fragmentTransaction, @NonNull FragmentManager fragmentManager, @NonNull MicroFragmentHost host, @NonNull MicroFragment<?> previousStep) { Fragment fragment = mNextStep.fragment(context, host); Bundle args = new Bundle(1); args.putParcelable(ARG_ENVIRONMENT, new BasicMicroFragmentEnvironment<>(mNextStep, host)); fragment.setArguments(args); fragmentTransaction.replace(R.id.microfragments_host, fragment); if (fragmentManager.getBackStackEntryCount() > 0 || !previousStep.skipOnBack()) { fragmentTransaction.addToBackStack(mNextStep.skipOnBack() ? "skip" : "noskip"); } return fragmentTransaction; }
From source file:com.LMO.capstone.KnoWITHerbalMain.java
@Override public void onBackPressed() { // TODO Auto-generated method stub long currentTime = System.currentTimeMillis(); FragmentManager fm = getSupportFragmentManager(); if (fm.getBackStackEntryCount() == 0) { if ((currentTime - lastPress) > 3000) { Toast.makeText(this, "Press back again to exit", Toast.LENGTH_LONG).show(); lastPress = currentTime;/*from w ww . ja v a 2s . c o m*/ } else { super.onBackPressed(); } } else { super.onBackPressed(); } }
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();/* w w w . ja va 2 s. c o m*/ } 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:com.projeto_les.easymeal.MainActivity.java
@Override public void onBackPressed() { int fragments = getSupportFragmentManager().getBackStackEntryCount(); if (fragments == 1) { finish();//from ww w . j a va 2 s .c om return; } FragmentManager fragmentManager = getSupportFragmentManager(); String fragmentTag = fragmentManager.getBackStackEntryAt(fragmentManager.getBackStackEntryCount() - 1) .getName(); if (fragmentTag.equals(SelectIngredientsFragment.TAG)) { //selectIngredientsFragment.updateView(); clearSearch(true); } super.onBackPressed(); }
From source file:com.munger.passwordkeeper.MainActivity.java
/** * Handle the behaviour of the back button. *///w ww . j a v a2 s. c o m @Override public void onBackPressed() { FragmentManager mgr = getSupportFragmentManager(); int cnt = mgr.getBackStackEntryCount(); if (cnt > 0) { BackStackEntry entry = mgr.getBackStackEntryAt(cnt - 1); String name = entry.getName(); //warn any fragments that care that the back button has been pressed. //if they return true then cancel the back button action boolean keepGoing = true; if (name.equals(ViewDetailFragment.getName())) { keepGoing = viewDetailFragment.backPressed(); } if (!keepGoing) return; //reset the view every time a fragment is popped off the stack super.onBackPressed(); invalidateOptionsMenu(); setEditable(false); } }
From source file:net.peterkuterna.android.apps.devoxxfrsched.ui.HomeActivity.java
@Override public void onBeforeCommitReplaceFragment(FragmentManager fm, FragmentTransaction ft, Fragment fragment) { super.onBeforeCommitReplaceFragment(fm, ft, fragment); if (fragment instanceof SessionsFragment) { mPauseBackStackWatcher = true;// w w w . j av a 2 s . co m if (fm.getBackStackEntryCount() > 0) { fm.popBackStackImmediate(); } mPauseBackStackWatcher = false; ft.addToBackStack(null); } else if (fragment instanceof SessionDetailFragment) { mPauseBackStackWatcher = true; if (fm.getBackStackEntryCount() > 0) { fm.popBackStackImmediate(); } mPauseBackStackWatcher = false; ft.addToBackStack(null); } }
From source file:com.cnm.cnmrc.fragment.vodtvch.VodTvch.java
/** * ? ? ? fragment VodTvch ?? loadingDataForSidrebar()? no addToBackStack ??. * ? MainActivity onBackPressed()? back key ?. * ? VodTvch fragment addToBackStack ?? ?, ?? Base back key . * back key? ??... Base? destoryView()? ? ?. * no addToBackStack(null)//from w w w . jav a 2s.c om * ft.replace(R.id.loading_data_panel, base) */ private void loadingDataForSidrebar() { FragmentManager fm = getActivity().getSupportFragmentManager(); Log.i("hwang", "before vodTvch fragment count (no add to stack) --> " + Integer.toString(fm.getBackStackEntryCount())); FragmentTransaction ft = getActivity().getSupportFragmentManager().beginTransaction(); Class<?> classObject; try { String packageName = this.getClass().getPackage().getName() + "."; classObject = Class.forName(packageName + mClassTypeArray[selectedCategory]); // CommonList, VodSemiDetail, VodDetail, TvchSemiDetail, TvchDetail Object obj = classObject.newInstance(); Base base = ((Base) obj).newInstance(mCategoryArray[selectedCategory], true); // true : 1 depth (vod:VodSemiDetail, VodSemiDetail, VodSemiDetail, VodList) // true : 1 depth (tvch: TvchSemiDetail, TvchList, TvchSemiDetail, TvchSemiDetail) //ft.addToBackStack(null); // addTBackStack onBackPressed() ? ?... remove fragment onDestroyView() ?. ft.replace(R.id.loading_data_panel, base); ft.commit(); //fm.executePendingTransactions(); // fragment? ? pending recursive error, ?? pending . } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (java.lang.InstantiationException e) { e.printStackTrace(); } catch (IllegalAccessException e) { e.printStackTrace(); } Log.i("hwang", "after vodTvch fragment count (no add to stack) --> " + Integer.toString(fm.getBackStackEntryCount())); // ------------------------------------ // ? bottom menu? depth level // ------------------------------------ Fragment f = getActivity().getSupportFragmentManager().findFragmentById(R.id.fragment_rc_bottom_menu); if (f != null) ((RcBottomMenu) f).setDepthLevelClear(); // set 1 depth }
From source file:com.google.plus.wigwamnow.MainActivity.java
/** * Callback when the state of the Facebook Session changes. * * @param session the session which changed. * @param state the current state of the session. * @param exception any exception which occurred. */// w ww .j av a2s. com private void onSessionStateChange(Session session, SessionState state, Exception exception) { // Only make changes if the activity is visible if (mIsResumed) { FragmentManager manager = getSupportFragmentManager(); // Get the number of entries in the back stack int backStackSize = manager.getBackStackEntryCount(); // Clear the back stack for (int i = 0; i < backStackSize; i++) { manager.popBackStack(); } if (state.isOpened()) { // Send the authorization information to the web server sendFbTokenToServer(); // Show the authenticated fragment showFragment(SELECTION, false); } else if (state.isClosed()) { // Show the login fragment saveProvider(SocialProviderConstants.NONE); showFragment(SPLASH, false); } } }