List of usage examples for android.support.v4.app FragmentManager POP_BACK_STACK_INCLUSIVE
int POP_BACK_STACK_INCLUSIVE
To view the source code for android.support.v4.app FragmentManager POP_BACK_STACK_INCLUSIVE.
Click Source Link
From source file:org.adaway.ui.MainActivity.java
/** * Swaps fragments in the main content view. * * @param position The position of the selected item in drawer menu. *//*from ww w . java 2s.co m*/ private void selectDrawerMenuItem(int position) { Fragment fragment = null; switch (position) { case 0: // HomeFragment, no fragment to instantiate break; case 1: fragment = new HostsSourcesFragment(); break; case 2: fragment = new ListsFragment(); break; case 3: fragment = new HostsContentFragment(); break; case 4: fragment = new TcpdumpFragment(); break; case 5: fragment = new AdwareFragment(); break; case 6: fragment = new PrefsFragment(); break; case 7: // Restore drawer selected item this.mDrawerList.setItemChecked(this.mSelectedMenuItem, true); // Start help activity this.startActivity(new Intent(this, HelpActivity.class)); // Do nothing more return; default: // Position is not supported. Exit. return; } // Update selected menu item this.mSelectedMenuItem = position; // Pop back stack up to HomeFragment FragmentManager fragmentManager = getSupportFragmentManager(); fragmentManager.popBackStack(STACK_STATE_NAME, FragmentManager.POP_BACK_STACK_INCLUSIVE); // Check there is new fragment to insert if (fragment != null) { // Insert the fragment by replacing any existing fragment fragmentManager.beginTransaction().replace(R.id.content_frame, fragment) .addToBackStack(STACK_STATE_NAME).commit(); } // Close the drawer this.mDrawerLayout.closeDrawer(this.mDrawer); }
From source file:com.kuassivi.october.util.Navigator.java
/** * Pops back to a specific BackStack position. * <p>/*from w w w . j av a 2 s. c o m*/ * It will detach and destroy forwarded Fragments. * * @param index index in the back stack entry */ public void popToStack(int index) { if (!(activity instanceof FragmentActivity)) { throw new RuntimeException("The activity must inherits from FragmentActivity or AppCompatActivity"); } FragmentActivity fragmentActivity = (FragmentActivity) activity; FragmentManager fragmentManager = fragmentActivity.getSupportFragmentManager(); /* * The method isFinishing() prevents to load a Fragment * when the activity is going to be killed or destroyed. */ if (fragmentManager == null || fragmentActivity.isFinishing()) { return; } final int firstFragmentCount = 1; int backStackCount = fragmentManager.getBackStackEntryCount(); if (backStackCount <= firstFragmentCount) { fragmentActivity.finish(); } else { if (index > 0) { List<Fragment> fragments = fragmentManager.getFragments(); this.fragment = fragments.get(index - 1); fragmentManager.popBackStackImmediate(index, FragmentManager.POP_BACK_STACK_INCLUSIVE); } } }
From source file:org.videolan.vlc.gui.VLCMainActivity.java
@SuppressLint("NewApi") @Override/* w w w .jav a 2 s . com*/ protected void onCreate(Bundle savedInstanceState) { StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build(); StrictMode.setThreadPolicy(policy); if (!LibVlcUtil.hasCompatibleCPU(this)) { Log.e(TAG, LibVlcUtil.getErrorMsg()); Intent i = new Intent(this, CompatErrorActivity.class); startActivity(i); finish(); super.onCreate(savedInstanceState); return; } /* Get the current version from package */ PackageInfo pinfo = null; try { pinfo = getPackageManager().getPackageInfo(getPackageName(), 0); } catch (NameNotFoundException e) { Log.e(TAG, "package info not found."); } if (pinfo != null) mVersionNumber = pinfo.versionCode; /* Get settings */ mSettings = PreferenceManager.getDefaultSharedPreferences(this); /* Check if it's the first run */ mFirstRun = mSettings.getInt(PREF_FIRST_RUN, -1) != mVersionNumber; if (mFirstRun) { Editor editor = mSettings.edit(); editor.putInt(PREF_FIRST_RUN, mVersionNumber); editor.commit(); } try { // Start LibVLC VLCInstance.getLibVlcInstance(); } catch (LibVlcException e) { //e.printStackTrace(); Intent i = new Intent(this, CompatErrorActivity.class); i.putExtra("runtimeError", true); i.putExtra("message", "LibVLC failed to initialize (LibVlcException)"); startActivity(i); finish(); super.onCreate(savedInstanceState); return; } super.onCreate(savedInstanceState); /*** Start initializing the UI ***/ /* Enable the indeterminate progress feature */ requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS); SharedPreferences pref = PreferenceManager.getDefaultSharedPreferences(this); boolean enableBlackTheme = pref.getBoolean("enable_black_theme", false); if (enableBlackTheme) setTheme(R.style.Theme_VLC_Black); View v_main = LayoutInflater.from(this).inflate(R.layout.main, null); setContentView(v_main); mSlidingPane = (SlidingPaneLayout) v_main.findViewById(R.id.pane); mSlidingPane.setPanelSlideListener(mPanelSlideListener); mListView = (ListView) v_main.findViewById(R.id.sidelist); mListView.setFooterDividersEnabled(true); mSidebarAdapter = new SidebarAdapter(this); mListView.setAdapter(mSidebarAdapter); /* Initialize UI variables */ mInfoLayout = v_main.findViewById(R.id.info_layout); mInfoProgress = (ProgressBar) v_main.findViewById(R.id.info_progress); mInfoText = (TextView) v_main.findViewById(R.id.info_text); mAudioPlayerFilling = v_main.findViewById(R.id.audio_player_filling); mRootContainer = (DrawerLayout) v_main.findViewById(R.id.root_container); /* Set up the action bar */ // commit for android 4.1...tempory // prepareActionBar(); /* Set up the sidebar click listener * no need to invalidate menu for now */ mDrawerToggle = new ActionBarDrawerToggle(this, mRootContainer, R.drawable.ic_drawer, R.string.drawer_open, R.string.drawer_close) { }; // Set the drawer toggle as the DrawerListener mRootContainer.setDrawerListener(mDrawerToggle); // set a custom shadow that overlays the main content when the drawer opens mRootContainer.setDrawerShadow(R.drawable.drawer_shadow, GravityCompat.START); // getSupportActionBar().setDisplayHomeAsUpEnabled(true); // getSupportActionBar().setHomeButtonEnabled(true); mListView.setOnItemClickListener(new OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { SidebarAdapter.SidebarEntry entry = (SidebarEntry) mListView.getItemAtPosition(position); Fragment current = getSupportFragmentManager().findFragmentById(R.id.fragment_placeholder); if (current == null || (entry != null && current.getTag().equals(entry.id))) { /* Already selected */ mRootContainer.closeDrawer(mListView); return; } // This should not happen if (entry == null || entry.id == null) return; /* * Clear any backstack before switching tabs. This avoids * activating an old backstack, when a user hits the back button * to quit */ getSupportFragmentManager().popBackStack(null, FragmentManager.POP_BACK_STACK_INCLUSIVE); /* Slide down the audio player */ slideDownAudioPlayer(); /* Switch the fragment */ FragmentTransaction ft = getSupportFragmentManager().beginTransaction(); ft.replace(R.id.fragment_placeholder, getFragment(entry.id), entry.id); ft.commit(); mCurrentFragment = entry.id; /* * Set user visibility hints to work around weird Android * behaviour of duplicate context menu events. */ current.setUserVisibleHint(false); getFragment(mCurrentFragment).setUserVisibleHint(true); // HACK ALERT: Set underlying audio browser to be invisible too. if (current.getTag().equals("tracks")) getFragment("audio").setUserVisibleHint(false); mRootContainer.closeDrawer(mListView); } }); /* Set up the audio player */ mAudioPlayer = new AudioPlayer(); mAudioController = AudioServiceController.getInstance(); getSupportFragmentManager().beginTransaction().replace(R.id.audio_player, mAudioPlayer).commit(); if (mFirstRun) { /* * The sliding menu is automatically opened when the user closes * the info dialog. If (for any reason) the dialog is not shown, * open the menu after a short delay. */ mHandler.postDelayed(new Runnable() { @Override public void run() { mRootContainer.openDrawer(mListView); } }, 500); } /* Prepare the progressBar */ IntentFilter filter = new IntentFilter(); filter.addAction(ACTION_SHOW_PROGRESSBAR); filter.addAction(ACTION_HIDE_PROGRESSBAR); // filter.addAction(ACTION_SHOW_TEXTINFO); filter.addAction(ACTION_SHOW_PLAYER); registerReceiver(messageReceiver, filter); /* Reload the latest preferences */ reloadPreferences(); }
From source file:com.waz.zclient.newreg.fragments.SignUpPhotoFragment.java
private void dismissCameraFragment() { Fragment fragment = getChildFragmentManager().findFragmentByTag(CameraFragment.TAG); if (fragment != null) { getChildFragmentManager().popBackStack(CameraFragment.TAG, FragmentManager.POP_BACK_STACK_INCLUSIVE); ViewUtils.fadeInView(initContainer); ViewUtils.fadeInView(initImage); cameraRevealed = false;//w w w . jav a 2 s .c o m } }
From source file:com.chatwing.whitelabel.LegacyLoginActivity.java
private void onTaskFinished(TaskFinishedEvent event, @SuppressWarnings("UnusedParameters") ResetPasswordTask task) { ResetPasswordResponse response = (ResetPasswordResponse) event.getResult(); if (event.getStatus() == TaskFinishedEvent.Status.SUCCEED) { //FIXME: this is not localizable mConfirmMessageView.show(response.getData()); getSupportFragmentManager().popBackStack(BACK_TACK_FORGOT_PASSWORD, FragmentManager.POP_BACK_STACK_INCLUSIVE); } else {/* w ww . j ava2s . co m*/ if ((event.getException() instanceof ApiManager.ValidationException || event.getException() instanceof EmailValidator.InvalidEmailException) && mForgotPasswordFragment.isAdded()) { mForgotPasswordFragment.setEmailError(getString(R.string.error_invalid_email)); return; } //Other errors (Unknown or general errors) we let other to handle it mErrorMessageView.show(event.getException()); } }
From source file:com.z299studio.pb.MainActivity.java
@Override public void onBackPressed() { setStatusBarColor(0, 0, true);// w w w . j a v a2s . c o m Fragment edit = getSupportFragmentManager().findFragmentByTag("edit"); if (edit != null) { getSupportFragmentManager().popBackStack("edit", FragmentManager.POP_BACK_STACK_INCLUSIVE); return; } Fragment detail = getSupportFragmentManager().findFragmentByTag("detail"); if (detail != null) { getSupportFragmentManager().popBackStack("detail", FragmentManager.POP_BACK_STACK_INCLUSIVE); return; } super.onBackPressed(); }
From source file:org.dmfs.webcal.MainActivity.java
@Override protected boolean selectItem(long id) { if (id == mSelectedItemId) { super.selectItem(id); return true; }//from ww w . ja v a2 s. c om Fragment fragment = null; if (id == R.id.side_nav_favorite_calendars) { fragment = GenericListFragment.newInstance( CalendarContentContract.ContentItem.getStarredItemsContentUri(this), getString(R.string.side_nav_favorite_calendars), R.string.error_favorite_calendars_empty, GenericListFragment.PROJECTION2, true); mSelectedItemId = id; Analytics.event("fav-calendars", "menu", null, null, null, null); } else if (id == R.id.side_nav_my_calendars) { fragment = GenericListFragment.newInstance( CalendarContentContract.SubscribedCalendars.getContentUri(this), getString(R.string.side_nav_my_calendars), R.string.error_my_calendars_empty, GenericListFragment.PROJECTION, true); mSelectedItemId = id; Analytics.event("my-calendars", "menu", null, null, null, null); } else if (id == R.id.side_nav_all_calendars) { fragment = PagerFragment.newInstance(this, 0, getItemTitleById(id), -1); mSelectedItemId = id; Analytics.event("all-calendars", "menu", null, null, null, null); } else if (id == R.id.side_nav_faq) { Intent faqIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(getString(R.string.faq_url))); startActivity(faqIntent); Analytics.event("faq", "menu", null, null, null, null); } else if (id == R.id.side_nav_feedback) { Analytics.event("feedback", "menu", null, null, null, null); PackageManager pm = getPackageManager(); PackageInfo pi = null; try { pi = pm.getPackageInfo(getPackageName(), 0); } catch (NameNotFoundException e) { // that should not happen! } StringBuilder emailContent = new StringBuilder(256); emailContent.append("\r\n\r\n\r\n\r\n\r\n--------------\r\n"); emailContent.append("app: ").append(getPackageName()).append("\r\n"); emailContent.append("version: ").append(pi.versionName).append(" / ").append(pi.versionCode) .append("\r\n"); emailContent.append("locale: ").append(Locale.getDefault().getLanguage()).append("\r\n"); emailContent.append("location: ").append(Locale.getDefault().getCountry()).append("\r\n"); emailContent.append("timezone: ").append(TimeZone.getDefault().getID()).append("\r\n"); emailContent.append("device: ").append(android.os.Build.DEVICE).append("\r\n"); emailContent.append("model: ").append(android.os.Build.MODEL).append("\r\n"); emailContent.append("os version: ").append(android.os.Build.VERSION.RELEASE).append(" / ") .append(android.os.Build.VERSION.SDK_INT).append("\r\n"); emailContent.append("firmware: ").append(android.os.Build.ID).append("\r\n"); Intent emailIntent = new Intent(Intent.ACTION_SENDTO, Uri.fromParts("mailto", getString(R.string.contact_address), null)); emailIntent.putExtra(Intent.EXTRA_SUBJECT, "Contact"); emailIntent.putExtra(Intent.EXTRA_TEXT, emailContent.toString()); startActivity(Intent.createChooser(emailIntent, getString(R.string.send_email))); // fragment = ContactFragment.newInstance(); } else if (id == R.id.side_nav_settings) { Intent preferencesIntent = new Intent(this, PreferencesActivity.class); startActivity(preferencesIntent); Analytics.event("settings", "menu", "settings clicked", null, null, null); } if (fragment != null) { // drop backstack mFragmentManager.popBackStack(null, FragmentManager.POP_BACK_STACK_INCLUSIVE); FragmentTransaction fragmentTransaction = mFragmentManager.beginTransaction(); fragmentTransaction.replace(R.id.content, fragment); fragmentTransaction.commit(); } super.selectItem(id); return fragment != null; }
From source file:com.github.socialc0de.gsw.android.MainActivity.java
private void fillLayout() { SpannableString s = new SpannableString(getString(R.string.app_name)); s.setSpan(new com.github.socialc0de.gsw.android.TypefaceSpan(getApplicationContext(), "fabiolo.otf"), 0, s.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); ((Toolbar) findViewById(R.id.app_bar)).setTitle(s); mTinyDB = new TinyDB(this); loadCategories();/*from w ww . j av a 2 s.c o m*/ loadAccount(); if (mDrawer != null && mFragments != null) { for (int i = 0; i < mFragments.size(); i++) { mDrawer.removeItem(i); } } //create the drawer and remember the `Drawer` result object headerResult = new AccountHeaderBuilder().withActivity(this).withHeaderBackground(R.drawable.productback) .withOnAccountHeaderListener(new AccountHeader.OnAccountHeaderListener() { @Override public boolean onProfileChanged(View view, IProfile profile, boolean currentProfile) { return false; } }).withSelectionListEnabledForSingleProfile(false).build(); mFragments.clear(); mFragments.add(new LocalFragment(this)); mFragments.add(new CategoryFragment(this)); mFragments.add(new ProfileFragment()); mFragments.add(new PhraseFragment()); mFragments.add(new FAQFragment()); mFragments.add(new AuthorityMapFragment()); mFragments.add(new DonateFragment()); mFragments.add(new AboutFragment()); if (mDrawer == null) { mDrawer = new DrawerBuilder().withActivity(this).withToolbar((Toolbar) findViewById(R.id.app_bar)) .withActionBarDrawerToggle(true).withAccountHeader(headerResult) .addDrawerItems( new PrimaryDrawerItem().withName(R.string.sharing_local) .withIcon(R.drawable.ic_place_black_36dp), new PrimaryDrawerItem().withName(R.string.sharing_categories) .withIcon(R.drawable.ic_view_day_black_36dp), new PrimaryDrawerItem().withName(R.string.profile) .withIcon(R.drawable.ic_assignment_ind_black_36dp), new PrimaryDrawerItem().withName(R.string.phrasebook) .withIcon(R.drawable.ic_translate_black_36dp), new PrimaryDrawerItem().withName(R.string.faq) .withIcon(R.drawable.ic_question_answer_black_36dp), new PrimaryDrawerItem().withName(R.string.authority_map) .withIcon(R.drawable.ic_map_black_36dp), new PrimaryDrawerItem().withName(R.string.donate) .withIcon(R.drawable.ic_attach_money_black_36dp), new PrimaryDrawerItem().withName(R.string.about) .withIcon(R.drawable.ic_info_black_36dp)) .withOnDrawerItemClickListener(new Drawer.OnDrawerItemClickListener() { @Override public boolean onItemClick(View view, int position, IDrawerItem drawerItem) { // do something with the clicked item :D if (getSupportFragmentManager().findFragmentByTag( mFragments.get(position - 1).getClass().getSimpleName()) != null) return false; getSupportFragmentManager().popBackStack(null, FragmentManager.POP_BACK_STACK_INCLUSIVE); getSupportFragmentManager().beginTransaction() .replace(R.id.container, mFragments.get(position - 1), mFragments.get(position - 1).getClass().getSimpleName()) .addToBackStack(null).commit(); // closes Drawer return false; } }).build(); } getSupportFragmentManager().beginTransaction().replace(R.id.container, mFragments.get(0)).commit(); }
From source file:com.he5ed.lib.cloudprovider.picker.CloudPickerActivity.java
/** * Open new back stack of fragments and create the fragment to show folder content * * @hide/* www.jav a 2s . co m*/ */ private void openPickerFragment() { // clear all previous fragment mFragmentManager.popBackStack(null, FragmentManager.POP_BACK_STACK_INCLUSIVE); PickerFragment pickerFragment = new PickerFragment(); pickerFragment.setApi(mApi); pickerFragment.exploreFolder(mApi.getRoot()); mFragmentManager.beginTransaction().replace(R.id.fragment, pickerFragment).commit(); }
From source file:com.androzic.MainActivity.java
private void selectItem(int position) { if (mDrawerAdapter.getSelectedItem() == position) return;/* w w w . j a v a2 s . co m*/ DrawerItem item = mDrawerItems.get(position); // Actions if (item.type == DrawerItem.ItemType.INTENT) { if (position > 0) startActivity(item.intent); } // Fragments else if (item.type == DrawerItem.ItemType.FRAGMENT) { FragmentManager fm = getSupportFragmentManager(); if (fm.getBackStackEntryCount() > 0) { fm.popBackStackImmediate(0, FragmentManager.POP_BACK_STACK_INCLUSIVE); } FragmentTransaction ft = fm.beginTransaction(); Fragment parent = fm.findFragmentById(R.id.content_frame); if (parent != null) { ft.detach(parent); } Fragment fragment = fm.findFragmentByTag(item.name); if (fragment != null) { ft.attach(fragment); } else { ft.add(R.id.content_frame, item.fragment, item.name); } ft.commit(); // update selected item and title, then close the drawer updateDrawerUI(item, position); } else if (item.type == DrawerItem.ItemType.ACTION) { Log.e(TAG, "ACTION"); runOnUiThread(item.action); } mDrawerLayout.closeDrawer(mDrawerList); }