List of usage examples for android.support.v4.app FragmentManager popBackStack
public abstract void popBackStack(int id, int flags);
From source file:org.sufficientlysecure.keychain.ui.keyview.LinkedIdViewFragment.java
public void finishFragment() { new Handler().post(new Runnable() { @Override// w w w .ja v a 2s .com public void run() { FragmentManager manager = getFragmentManager(); manager.removeOnBackStackChangedListener(LinkedIdViewFragment.this); manager.popBackStack("linked_id", FragmentManager.POP_BACK_STACK_INCLUSIVE); } }); }
From source file:org.dmfs.android.microfragments.transitions.ForwardResetTransition.java
@Override public void prepare(@NonNull Context context, @NonNull FragmentManager fragmentManager, @NonNull MicroFragmentHost host, @NonNull MicroFragment<?> previousStep) { // insert an empty dummy fragment to enforce the animation that we want, otherwise the pop animation of the curent fragment would be played which is usually not what we want fragmentManager.beginTransaction()//ww w. j a va 2s . c o m .setCustomAnimations(R.anim.microfragments_swipe_enter, R.anim.microfragments_swipe_exit, R.anim.microfragments_swipe_enter, R.anim.microfragments_swipe_exit) .replace(R.id.microfragments_host, new Fragment()).commit(); fragmentManager.executePendingTransactions(); fragmentManager.popBackStack(null, FragmentManager.POP_BACK_STACK_INCLUSIVE); }
From source file:com.openerp.MainActivity.java
public void onItemClick(AdapterView<?> adapter, View view, int position, long id) { int item_position = position - 1; DrawerItem item = mDrawerListItems.get(item_position); if (!item.isGroupTitle()) { if (!item.getKey().equals("com.openerp.settings")) { mDrawerItemSelectedPosition = item_position + 1; }//w w w .j ava 2 s . c om android.support.v4.app.FragmentManager fm1 = getSupportFragmentManager(); fm1.popBackStack("product", FragmentManager.POP_BACK_STACK_INCLUSIVE); fm1.popBackStack(); mAppTitle = item.getTitle(); loadFragment(item); mDrawerLayout.closeDrawers(); } mDrawerListView.setItemChecked(mDrawerItemSelectedPosition, true); }
From source file:com.ovrhere.android.careerstack.ui.MainActivity.java
/** Loads a fragment either by adding or replacing and then adds it to * the fragTagList.//w w w . j av a2 s . c o m * @param fragment The fragment to add * @param tag The tag to give the fragment * @param backStack <code>true</code> to add to backstack, * <code>false</code> to not. */ private void loadFragment(Fragment fragment, String tag, boolean backStack) { FragmentManager fragManager = getSupportFragmentManager(); if (backStack) { String prevTag = fragTagStack.peek(); fragManager.beginTransaction().addToBackStack(prevTag).replace(R.id.container, fragment, tag).commit(); } else { //clear the entire backstack fragManager.popBackStack(null, FragmentManager.POP_BACK_STACK_INCLUSIVE); fragManager.beginTransaction().replace(R.id.container, fragment, tag).commit(); fragTagStack.clear(); fragSavedStates.clear(); } fragTagStack.push(tag); checkTabletFrag(); checkMenus(); checkHomeButtonBack(); }
From source file:key.secretkey.crypto.PgpHandler.java
private void selectFolder(Intent data) { if (data.getStringExtra("Operation") == null || !data.getStringExtra("Operation").equals("SELECTFOLDER")) { Log.e(Constants.TAG, "PgpHandler#selectFolder(Intent) triggered with incorrect intent."); if (BuildConfig.DEBUG) { throw new UnsupportedOperationException("Triggered with incorrect intent."); }/* w ww. j a v a2 s .co m*/ return; } Log.d(Constants.TAG, "PgpHandler#selectFolder(Intent)."); FragmentManager fragmentManager = getSupportFragmentManager(); FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction(); passwordList = new SelectFolderFragment(); Bundle args = new Bundle(); // args.putString("Path", PasswordStorage.getRepositoryDirectory(getApplicationContext()).getAbsolutePath()); passwordList.setArguments(args); getSupportActionBar().show(); fragmentManager.popBackStack(null, FragmentManager.POP_BACK_STACK_INCLUSIVE); fragmentTransaction.replace(R.id.pgp_handler_linearlayout, passwordList, "PasswordsList"); fragmentTransaction.commit(); this.selectFolderData = data; }
From source file:fr.mixit.android.ui.MembersActivity.java
@Override public void startActivityFromFragment(Fragment fragment, Intent intent, int requestCode) { final Uri uri = intent.getData(); if (uri != null && uri.getAuthority().equals(MixItContract.Members.CONTENT_URI.getAuthority())) { final boolean addToBackStack = intent.getBooleanExtra(IntentUtils.EXTRA_FROM_ADD_TO_BACKSTACK, false); final FragmentManager fm = getSupportFragmentManager(); // MEMBER if (uri.getEncodedPath().startsWith(SLASH + MixItContract.PATH_MEMBERS) || uri.getEncodedPath().startsWith(SLASH + MixItContract.PATH_SPEAKERS)) { if (UIUtils.isTablet(this)) { if (addToBackStack) { final MemberDetailsFragment frag = MemberDetailsFragment.newInstance(intent); final FragmentTransaction ft = fm.beginTransaction(); ft.replace(R.id.content_member_details, frag); ft.addToBackStack(null); if (mTopFragCommitId == -1) { mTopFragCommitId = ft.commit(); } else { ft.commit();//from w w w. jav a2 s . co m } return; } else { if (mTopFragCommitId != -1) { fm.popBackStack(mTopFragCommitId, FragmentManager.POP_BACK_STACK_INCLUSIVE); mTopFragCommitId = -1; } if (mMemberDetailsFrag != null) { final int memberId = Integer.parseInt(MixItContract.Members.getMemberId(uri)); mMemberDetailsFrag.setMemberId(memberId); return; } else { Log.e(TAG, "no fragment member details found but device is tablet"); } } } else { super.startActivityFromFragment(fragment, intent, requestCode); return; } } else // SESSIONS if (uri.getEncodedPath().startsWith(SLASH + MixItContract.PATH_SESSIONS) || uri.getEncodedPath().startsWith(SLASH + MixItContract.PATH_LIGHTNINGS)) { if (UIUtils.isTablet(this)) { final SessionDetailsFragment frag = SessionDetailsFragment.newInstance(intent); final FragmentTransaction ft = fm.beginTransaction(); ft.replace(R.id.content_member_details, frag); ft.addToBackStack(null); if (mTopFragCommitId == -1) { mTopFragCommitId = ft.commit(); } else { ft.commit(); } return; } else { super.startActivityFromFragment(fragment, intent, requestCode); return; } } } super.startActivityFromFragment(fragment, intent, requestCode); }
From source file:bf.io.openshop.ux.MainActivity.java
/** * Method clear fragment backStack (back history). On bottom of stack will remain Fragment added by {@link #addInitialFragment()}. *///from w w w . ja va 2 s. c o m private void clearBackStack() { Timber.d("Clearing backStack"); FragmentManager manager = getSupportFragmentManager(); if (manager.getBackStackEntryCount() > 0) { if (BuildConfig.DEBUG) { for (int i = 0; i < manager.getBackStackEntryCount(); i++) { Timber.d("BackStack content_%d= id: %d, name: %s", i, manager.getBackStackEntryAt(i).getId(), manager.getBackStackEntryAt(i).getName()); } } FragmentManager.BackStackEntry first = manager.getBackStackEntryAt(0); manager.popBackStack(first.getId(), FragmentManager.POP_BACK_STACK_INCLUSIVE); } Timber.d("backStack cleared."); // TODO maybe implement own fragment backStack handling to prevent banner fragment recreation during clearing. // http://stackoverflow.com/questions/12529499/problems-with-android-fragment-back-stack }
From source file:fr.mixit.android.ui.PlanningActivity.java
@Override public void startActivityFromFragment(Fragment fragment, Intent intent, int requestCode) { final Uri uri = intent.getData(); if (uri != null && uri.getAuthority().equals(MixItContract.Sessions.CONTENT_URI.getAuthority())) { final boolean addToBackStack = intent.getBooleanExtra(IntentUtils.EXTRA_FROM_ADD_TO_BACKSTACK, false); final FragmentManager fm = getSupportFragmentManager(); // SESSION if (uri.getEncodedPath().startsWith(SLASH + MixItContract.PATH_SESSIONS) || uri.getEncodedPath().startsWith(SLASH + MixItContract.PATH_LIGHTNINGS)) { if (UIUtils.isTablet(this)) { if (addToBackStack) { final SessionDetailsFragment frag = SessionDetailsFragment.newInstance(intent); final FragmentTransaction ft = fm.beginTransaction(); ft.replace(R.id.content_session_details, frag); ft.addToBackStack(null); if (mTopFragCommitId == -1) { mTopFragCommitId = ft.commit(); } else { ft.commit();/*from w w w .ja v a 2 s.c o m*/ } return; } else { if (mTopFragCommitId != -1) { fm.popBackStack(mTopFragCommitId, FragmentManager.POP_BACK_STACK_INCLUSIVE); mTopFragCommitId = -1; } if (mSessionDetailsFrag != null) { final int sessionId = Integer.parseInt(MixItContract.Sessions.getSessionId(uri)); mSessionDetailsFrag.setSessionId(sessionId); return; } else { Log.e(TAG, "no fragment session details found but device is tablet"); } } } else { super.startActivityFromFragment(fragment, intent, requestCode); return; } } else // MEMBERS if (uri.getEncodedPath().startsWith(SLASH + MixItContract.PATH_MEMBERS) || uri.getEncodedPath().startsWith(SLASH + MixItContract.PATH_SPEAKERS)) { if (UIUtils.isTablet(this)) { final MemberDetailsFragment frag = MemberDetailsFragment.newInstance(intent); final FragmentTransaction ft = fm.beginTransaction(); ft.replace(R.id.content_session_details, frag); ft.addToBackStack(null); if (mTopFragCommitId == -1) { mTopFragCommitId = ft.commit(); } else { ft.commit(); } return; } else { super.startActivityFromFragment(fragment, intent, requestCode); return; } } } super.startActivityFromFragment(fragment, intent, requestCode); }
From source file:org.envirocar.app.activity.MainActivity.java
private void openFragment(int position) { FragmentManager manager = getSupportFragmentManager(); switch (position) { // Go to the dashboard case DASHBOARD: if (isFragmentVisible(DASHBOARD_TAG)) { break; }// w ww . j av a 2s . com Fragment dashboardFragment = getSupportFragmentManager().findFragmentByTag(DASHBOARD_TAG); if (dashboardFragment == null) { dashboardFragment = new DashboardFragment(); } manager.popBackStack(null, FragmentManager.POP_BACK_STACK_INCLUSIVE); manager.beginTransaction().replace(R.id.content_frame, dashboardFragment, DASHBOARD_TAG).commit(); break; //Start the Login activity case LOGIN: if (UserManager.instance().isLoggedIn()) { UserManager.instance().logOut(); ListTracksFragment listMeasurementsFragment = (ListTracksFragment) getSupportFragmentManager() .findFragmentByTag("MY_TRACKS"); // check if this fragment is initialized if (listMeasurementsFragment != null) { listMeasurementsFragment.clearRemoteTracks(); } else { //the remote tracks need to be removed in any case DbAdapterImpl.instance().deleteAllRemoteTracks(); } Crouton.makeText(this, R.string.bye_bye, Style.CONFIRM).show(); } else { if (isFragmentVisible(LOGIN_TAG)) { break; } LoginFragment loginFragment = new LoginFragment(); manager.beginTransaction().replace(R.id.content_frame, loginFragment, LOGIN_TAG) .addToBackStack(null).commit(); } break; // Go to the settings case SETTINGS: Intent configIntent = new Intent(this, SettingsActivity.class); startActivity(configIntent); break; // Go to the track list case MY_TRACKS: if (isFragmentVisible(MY_TRACKS_TAG)) { break; } ListTracksFragment listMeasurementFragment = new ListTracksFragment(); manager.beginTransaction().replace(R.id.content_frame, listMeasurementFragment, MY_TRACKS_TAG) .addToBackStack(null).commit(); break; // Start or stop the measurement process case START_STOP_MEASUREMENT: if (!navDrawerItems[position].isEnabled()) return; SharedPreferences preferences = PreferenceManager .getDefaultSharedPreferences(this.getApplicationContext()); String remoteDevice = preferences.getString(org.envirocar.app.activity.SettingsActivity.BLUETOOTH_KEY, null); BluetoothAdapter adapter = BluetoothAdapter.getDefaultAdapter(); if (adapter != null && adapter.isEnabled() && remoteDevice != null) { if (CarManager.instance().getCar() == null) { Intent settingsIntent = new Intent(this, SettingsActivity.class); startActivity(settingsIntent); } else { /* * We are good to go. process the state and stuff */ OnTrackModeChangeListener trackModeListener = new OnTrackModeChangeListener() { @Override public void onTrackModeChange(int tm) { trackMode = tm; } }; createStartStopUtil().processButtonClick(trackModeListener); } } else { Intent settingsIntent = new Intent(this, SettingsActivity.class); startActivity(settingsIntent); } break; case HELP: if (isFragmentVisible(HELP_TAG)) { break; } HelpFragment helpFragment = new HelpFragment(); manager.beginTransaction().replace(R.id.content_frame, helpFragment, HELP_TAG).addToBackStack(null) .commit(); break; case SEND_LOG: if (isFragmentVisible(SEND_LOG_TAG)) { break; } SendLogFileFragment logFragment = new SendLogFileFragment(); manager.beginTransaction().replace(R.id.content_frame, logFragment, SEND_LOG_TAG).addToBackStack(null) .commit(); default: break; case LOGBOOK: if (isFragmentVisible(LOGBOOK_TAG)) { break; } LogbookFragment logbookFragment = new LogbookFragment(); manager.beginTransaction().replace(R.id.content_frame, logbookFragment, LOGBOOK_TAG) .addToBackStack(null).commit(); break; } drawer.closeDrawer(drawerList); }
From source file:cn.edu.zafu.corepage.base.BaseActivity.java
/** * ?activitifragment//from ww w . j ava 2s . c om * @param pageName page?? * @param bundle ? * @param findAcitivity ?activity * @return ?? */ protected boolean popFragmentInActivity(final String pageName, Bundle bundle, BaseActivity findAcitivity) { if (pageName == null || findAcitivity == null || findAcitivity.isFinishing()) { return false; } else { final FragmentManager fragmentManager = findAcitivity.getSupportFragmentManager(); if (fragmentManager != null) { Fragment frg = fragmentManager.findFragmentByTag(pageName); if (frg != null && frg instanceof BaseFragment) { if (fragmentManager.getBackStackEntryCount() > 1 && mHandler != null) { mHandler.postDelayed(new Runnable() { @Override public void run() { fragmentManager.popBackStack(pageName, 0); } }, 100); } ((BaseFragment) frg).onFragmentDataReset(bundle); return true; } } } return false; }