List of usage examples for android.support.v4.app FragmentManager getBackStackEntryCount
public abstract int getBackStackEntryCount();
From source file:com.rks.musicx.ui.activities.MainActivity.java
@Override public boolean onOptionsItemSelected(MenuItem item) { int id = item.getItemId(); switch (id) { case android.R.id.home: FragmentManager fm = getSupportFragmentManager(); if (fm.getBackStackEntryCount() > 0) { fm.popBackStack();//from www .jav a2 s. c o m } else { fragmentLoader(setContainerId(), setFragment()); } return true; case R.id.system_eq: Intent intent = new Intent(AudioEffect.ACTION_DISPLAY_AUDIO_EFFECT_CONTROL_PANEL); if (intent.getAction() != null && Helper.isActivityPresent(MainActivity.this, intent)) { intent.putExtra(AudioEffect.EXTRA_AUDIO_SESSION, musicXService.audioSession()); startActivityForResult(intent, EQ); } else { Toast.makeText(this, "No app found to handle equalizer", Toast.LENGTH_SHORT).show(); } break; case R.id.play_save_queue: multiQueuePlay(); break; } return super.onOptionsItemSelected(item); }
From source file:org.mariotaku.twidere.activity.HomeActivity.java
@Override public void onBackStackChanged() { super.onBackStackChanged(); if (!isDualPaneMode()) return;//from w ww . jav a 2 s. c o m final FragmentManager fm = getSupportFragmentManager(); final Fragment left_pane_fragment = fm.findFragmentById(PANE_LEFT); final boolean left_pane_used = left_pane_fragment != null && left_pane_fragment.isAdded(); setPagingEnabled(!left_pane_used); final int count = fm.getBackStackEntryCount(); if (count == 0) { showLeftPane(); } invalidateSupportOptionsMenu(); }
From source file:com.androzic.MainActivity.java
private void restoreDrawerUI() { FragmentManager fm = getSupportFragmentManager(); if (fm.getBackStackEntryCount() > 0) { mDrawerToggle.setDrawerIndicatorEnabled(false); // FIXME This is the uggliest hack I have ever seen! getDrawerToggleDelegate().setActionBarUpIndicator(mHomeDrawable, R.string.cancel); setSupportActionBar(mToolbar);// w w w .jav a2 s . c o m // End of hack mDrawerLayout.setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_CLOSED, mDrawerList); } else { mDrawerToggle.setDrawerIndicatorEnabled(true); mDrawerLayout.setDrawerLockMode(DrawerLayout.LOCK_MODE_UNLOCKED, mDrawerList); int pos = mDrawerAdapter.getSelectedItem(); DrawerItem item = mDrawerItems.get(pos); if (item.type == DrawerItem.ItemType.FRAGMENT) updateDrawerUI(item, pos); } }
From source file:org.namelessrom.devicecontrol.MainActivity.java
private void loadFragmentPrivate(final int i, final boolean onResume) { switch (i) {//from w w w. j a v a 2 s . co m default: // slip through... //-------------------------------------------------------------------------------------- case DeviceConstants.ID_ABOUT: if (!onResume) mCurrentFragment = new AboutFragment(); mTitle = mFragmentTitle = R.string.app_name; mSubFragmentTitle = -1; break; //-------------------------------------------------------------------------------------- case DeviceConstants.ID_DEVICE_INFORMATION: if (!onResume) mCurrentFragment = new DeviceInformationFragment(); mTitle = mFragmentTitle = R.string.device; mSubFragmentTitle = -1; break; //-------------------------------------------------------------------------------------- case DeviceConstants.ID_FEATURES: if (!onResume) mCurrentFragment = new DeviceFeatureFragment(); mTitle = mFragmentTitle = R.string.features; mSubFragmentTitle = -1; break; case DeviceConstants.ID_FAST_CHARGE: if (!onResume) mCurrentFragment = new FastChargeFragment(); mTitle = mSubFragmentTitle = R.string.fast_charge; break; case DeviceConstants.ID_SOUND_CONTROL: if (!onResume) mCurrentFragment = new SoundControlFragment(); mTitle = mSubFragmentTitle = R.string.sound_control; break; case DeviceConstants.ID_KSM: if (!onResume) mCurrentFragment = new KsmFragment(); mTitle = mSubFragmentTitle = R.string.ksm; break; case DeviceConstants.ID_UKSM: if (!onResume) mCurrentFragment = new UksmFragment(); mTitle = mSubFragmentTitle = R.string.uksm; break; case DeviceConstants.ID_VOLTAGE: if (!onResume) mCurrentFragment = new VoltageFragment(); mTitle = mSubFragmentTitle = R.string.voltage_control; break; case DeviceConstants.ID_ENTROPY: if (!onResume) mCurrentFragment = new EntropyFragment(); mTitle = mSubFragmentTitle = R.string.entropy; break; //-------------------------------------------------------------------------------------- case DeviceConstants.ID_PERFORMANCE_INFO: if (!onResume) mCurrentFragment = new InformationFragment(); mTitle = mFragmentTitle = R.string.information; mSubFragmentTitle = -1; break; //-------------------------------------------------------------------------------------- case DeviceConstants.ID_PERFORMANCE_CPU_SETTINGS: if (!onResume) mCurrentFragment = new CpuSettingsFragment(); mTitle = mFragmentTitle = R.string.cpusettings; mSubFragmentTitle = -1; break; case DeviceConstants.ID_GOVERNOR_TUNABLE: if (!onResume) mCurrentFragment = new GovernorFragment(); mTitle = mSubFragmentTitle = R.string.cpu_governor_tuning; break; //-------------------------------------------------------------------------------------- case DeviceConstants.ID_PERFORMANCE_GPU_SETTINGS: if (!onResume) mCurrentFragment = new GpuSettingsFragment(); mTitle = mFragmentTitle = R.string.gpusettings; mSubFragmentTitle = -1; break; //-------------------------------------------------------------------------------------- case DeviceConstants.ID_FILESYSTEM: if (!onResume) mCurrentFragment = new FilesystemFragment(); mTitle = mFragmentTitle = R.string.filesystem; mSubFragmentTitle = -1; break; case DeviceConstants.ID_IOSCHED_TUNING: if (!onResume) mCurrentFragment = new IoSchedConfigFragment(); mTitle = mSubFragmentTitle = R.string.io; break; //-------------------------------------------------------------------------------------- case DeviceConstants.ID_THERMAL: if (!onResume) mCurrentFragment = new ThermalFragment(); mTitle = mFragmentTitle = R.string.thermal; mSubFragmentTitle = -1; break; //-------------------------------------------------------------------------------------- case DeviceConstants.ID_TOOLS_TASKER: if (!onResume) mCurrentFragment = new TaskerFragment(); mTitle = mFragmentTitle = R.string.tasker; mSubFragmentTitle = -1; break; //-------------------------------------------------------------------------------------- case DeviceConstants.ID_TOOLS_FLASHER: if (!onResume) mCurrentFragment = new FlasherFragment(); mTitle = mFragmentTitle = R.string.flasher; mSubFragmentTitle = -1; break; //-------------------------------------------------------------------------------------- case DeviceConstants.ID_TOOLS_MORE: if (!onResume) mCurrentFragment = new ToolsMoreFragment(); mTitle = mFragmentTitle = R.string.more; mSubFragmentTitle = -1; break; case DeviceConstants.ID_TOOLS_VM: if (!onResume) mCurrentFragment = new SysctlFragment(); mTitle = mSubFragmentTitle = R.string.sysctl_vm; break; case DeviceConstants.ID_TOOLS_EDITORS_VM: if (!onResume) mCurrentFragment = new SysctlEditorFragment(); mTitle = mSubFragmentTitle = R.string.sysctl_vm; break; case DeviceConstants.ID_TOOLS_EDITORS_BUILD_PROP: if (!onResume) mCurrentFragment = new BuildPropEditorFragment(); mTitle = mSubFragmentTitle = R.string.buildprop; break; case DeviceConstants.ID_TOOLS_APP_MANAGER: if (!onResume) mCurrentFragment = new AppListFragment(); mTitle = mSubFragmentTitle = R.string.app_manager; break; case DeviceConstants.ID_TOOLS_WIRELESS_FM: if (!onResume) mCurrentFragment = new WirelessFileManagerFragment(); mTitle = mSubFragmentTitle = R.string.wireless_file_manager; break; //-------------------------------------------------------------------------------------- case DeviceConstants.ID_PREFERENCES: if (!onResume) mCurrentFragment = new PreferencesFragment(); mTitle = mFragmentTitle = R.string.preferences; mSubFragmentTitle = -1; break; } restoreActionBar(); if (onResume) { return; } final boolean isSubFragment = mSubFragmentTitle != -1; final FragmentManager fragmentManager = getSupportFragmentManager(); if (!isSubFragment && fragmentManager.getBackStackEntryCount() > 0) { // set a lock to prevent calling setFragment as onResume gets called AppHelper.preventOnResume = true; MainActivity.sDisableFragmentAnimations = true; fragmentManager.popBackStackImmediate(null, FragmentManager.POP_BACK_STACK_INCLUSIVE); MainActivity.sDisableFragmentAnimations = false; // release the lock AppHelper.preventOnResume = false; } final FragmentTransaction ft = fragmentManager.beginTransaction(); if (isSubFragment) { ft.setCustomAnimations(R.anim.slide_in_right, R.anim.slide_out_right, R.anim.slide_in_left, R.anim.slide_out_left); ft.addToBackStack(null); } ft.replace(R.id.container, mCurrentFragment); ft.commit(); final MaterialMenuDrawable.IconState iconState; if (isSubFragment) { iconState = MaterialMenuDrawable.IconState.ARROW; } else { iconState = MaterialMenuDrawable.IconState.BURGER; } sMaterialMenu.animateState(iconState); }
From source file:com.cnm.cnmrc.fragment.vodtvch.Base.java
@Override public void onDestroyView() { {/* ww w . j av a 2 s. c o m*/ // back key ? 2, ?, destoryview? ? count minus?. // ? TAG_FRAGMENT_BASE? fragment ? . . . // backstack? transaction? count ? minus ?. Fragment f = getActivity().getSupportFragmentManager() .findFragmentByTag(((MainActivity) getActivity()).TAG_FRAGMENT_BASE); if (f != null) { Log.i("hwang", "At Base TAG_FRAGMENT_BASE exist!!!"); } else { Log.i("hwang", "At Base TAG_FRAGMENT_BASE no exist!!!"); } f = getActivity().getSupportFragmentManager().findFragmentById(R.id.loading_data_panel); if (f != null) { Log.i("hwang", "At Base loading_data_panel exist!!!"); } else { Log.i("hwang", "At Base loading_data_panel no exist!!!"); } } // { // FragmentManager fm = getActivity().getSupportFragmentManager(); // Log.i("hwang", "before destory base view fragment count --> " + Integer.toString(fm.getBackStackEntryCount())); // Fragment f = getActivity().getSupportFragmentManager().findFragmentByTag(((MainActivity) getActivity()).TAG_FRAGMENT_BASE); // if (f != null) { // getActivity().getSupportFragmentManager().beginTransaction().remove(f).commit(); // TAG_FRAGMENT_BASE? fragment ?? ?. // fm.executePendingTransactions(); // fragment ? ?. // } // Log.i("hwang", "after destory base view fragment count --> " + Integer.toString(fm.getBackStackEntryCount())); // // // check // // entry stack? ? 0 ? index?. // for (int entry = 0; entry < fm.getBackStackEntryCount(); entry++) { // Log.i("hwang", "Found fragment: " + fm.getBackStackEntryAt(entry).getId()); // } // } // { // // same above, ~ ?? ? TAG_FRAGMENT_BASE? ? fragment ? ?. // FragmentManager fm = getActivity().getSupportFragmentManager(); // Log.i("hwang", "before destory base view fragment count --> " + Integer.toString(fm.getBackStackEntryCount())); // Fragment f = getActivity().getSupportFragmentManager().findFragmentByTag(((MainActivity) getActivity()).TAG_FRAGMENT_BASE); // if (f != null) { // fm.popBackStack(((MainActivity) getActivity()).TAG_FRAGMENT_BASE, 0); // ? ? null ?. // TAG_FRAGMENT_BASE? fragment ?. // fm.popBackStack(((MainActivity) getActivity()).TAG_FRAGMENT_BASE, FragmentManager.POP_BACK_STACK_INCLUSIVE); // TAG_FRAGMENT_BASE? fragment ?. ??..... // fm.popBackStack(null, FragmentManager.POP_BACK_STACK_INCLUSIVE); // stack? fragment ?. // } // Log.i("hwang", "after destory base view fragment count --> " + Integer.toString(fm.getBackStackEntryCount())); // // // check // // entry stack? ? 0 ? index?. // for (int entry = 0; entry < fm.getBackStackEntryCount(); entry++) { // Log.i("hwang", "Found fragment: " + fm.getBackStackEntryAt(entry).getId()); // } // } // To clear stack you need to call: // // ScreenFragment.sDisableExitAnimation = true; // manager.popBackStack(null, FragmentManager.POP_BACK_STACK_INCLUSIVE); // transaction.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN); // FragmentManager fm = getActivity().getSupportFragmentManager(); // for(int i = 0; i < fm.getBackStackEntryCount(); ++i) { // fm.popBackStack(); // } // But could equally have used something like: // // FragmentManager.popBackStack(String name, FragmentManager.POP_BACK_STACK_INCLUSIVE); // To go to top simply use: fragmentManager.popBackStack(null, FragmentManager.POP_BACK_STACK_INCLUSIVE); // // transaction.replace(R.id.detailFragment, frag1); // Transaction.remove(null).add(frag1) // frag1 on view // // // transaction.replace(R.id.detailFragment, frag2).addToBackStack(null); // Transaction.remove(frag1).add(frag2).addToBackStack(null) // frag2 on view // // // transaction.replace(R.id.detailFragment, frag3); // Transaction.remove(frag2).add(frag3) // frag3 on view // FragmentManager fm = getActivity().getSupportFragmentManager(); // for(int i = 0; i < fm.getBackStackEntryCount(); ++i) { // fm.popBackStack(); // } // Use a name for your initial back stack state and use FragmentManager.popBackStack(String name, FragmentManager.POP_BACK_STACK_INCLUSIVE). // Use FragmentManager.getBackStackEntryCount()/getBackStackEntryAt().getId() to retrieve the ID of the first entry on the back stack, // and FragmentManager.popBackStack(int id, FragmentManager.POP_BACK_STACK_INCLUSIVE). // is supposed to pop the entire back stack... //FragmentManager.popBackStack(null, FragmentManager.POP_BACK_STACK_INCLUSIVE) // Base? onDestroyView() 2 . // ft.replace(R.id.loading_data_panel, base); // ft.add(R.id.loading_data_panel, base, ((MainActivity) getActivity()).TAG_FRAGMENT_BASE); // getBackStackEntryCount() ?? ... ? ? ? ??... // backstack? count ??? ? ?... FragmentManager fm = getActivity().getSupportFragmentManager(); if (!isFirstDepth) { // 1 depth?? ? depth?... //if(fm.getBackStackEntryCount() > 0 && fm.getBackStackEntryCount() < 8) { // indicator 8 ... Log.i("hwang", "before Base onDestroyView() fragment count --> " + Integer.toString(fm.getBackStackEntryCount())); Fragment f = getActivity().getSupportFragmentManager() .findFragmentByTag(((MainActivity) getActivity()).TAG_FRAGMENT_BASE); if (f != null) { // ?? ~~~~ // popBackStack()? ? ? ? ? ?. , backstack count ? minus? ??. //fm.popBackStack(((MainActivity) getActivity()).TAG_FRAGMENT_BASE, 0); // ? ? null ?. // TAG_FRAGMENT_BASE? fragment ?. //fm.popBackStack(((MainActivity) getActivity()).TAG_FRAGMENT_BASE, FragmentManager.POP_BACK_STACK_INCLUSIVE); // TAG_FRAGMENT_BASE? fragment ?. ??... //fm.popBackStack(null, FragmentManager.POP_BACK_STACK_INCLUSIVE); // stack? fragment ?. //getActivity().getSupportFragmentManager().beginTransaction().remove(f).commit(); // TAG_FRAGMENT_BASE? fragment ?? ?. //fm.executePendingTransactions(); // fragment ? ?. // sidebar ? ... Fragment f1 = fm.findFragmentByTag(((MainActivity) getActivity()).TAG_FRAGMENT_VOD_TVCH); if (f1 != null) { if (((VodTvchMain) f1).mSlidingMenu.isOpening()) { getActivity().getSupportFragmentManager().beginTransaction().remove(f).commit(); //fm.getBackStackEntryAt(0); //fm.popBackStack(((MainActivity) getActivity()).TAG_FRAGMENT_BASE, FragmentManager.POP_BACK_STACK_INCLUSIVE); //fm.executePendingTransactions(); for (int i = 0; i < fm.getBackStackEntryCount(); i++) { // fm.popBackStack(((MainActivity) getActivity()).TAG_FRAGMENT_BASE, FragmentManager.POP_BACK_STACK_INCLUSIVE); fm.popBackStack(i, 0); // OK //fm.popBackStack(i, FragmentManager.POP_BACK_STACK_INCLUSIVE); // not OK } } } } Log.i("hwang", "after Base onDestroyView() fragment count --> " + Integer.toString(fm.getBackStackEntryCount())); // check // entry stack? ? 0 ? index?. for (int entry = 0; entry < fm.getBackStackEntryCount(); entry++) { Log.i("hwang", "At Base onDestroyView() Found fragment: " + fm.getBackStackEntryAt(entry).getId()); } deleteDepthLevel(); { f = getActivity().getSupportFragmentManager().findFragmentById(R.id.loading_data_panel); FragmentTransaction ft = getActivity().getSupportFragmentManager().beginTransaction(); if (f != null) { if (f.isHidden()) ft.show(f).commit(); // loading_data_panel TAG_FRAGMENT_BASE ?. ? // f --> VodList{42626a88 #12 id=0x7f0c0048 base} // f --> VodList{42624ab0 #11 id=0x7f0c0048 base} // f --> VodList{42622ad8 #10 id=0x7f0c0048 base} // f --> VodList{42620b00 #9 id=0x7f0c0048 base} // f --> VodList{4261ea88 #8 id=0x7f0c0048 base} // f --> VodList{4261c560 #7 id=0x7f0c0048} } } } super.onDestroyView(); }
From source file:com.androzic.MainActivity.java
@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); }/*ww w. j a va2 s . c o m*/ fm.popBackStack(); return true; } else { if (mDrawerToggle.onOptionsItemSelected(item)) { return true; } } default: return super.onOptionsItemSelected(item); } }
From source file:com.krayzk9s.imgurholo.activities.MainActivity.java
@Override public boolean onKeyDown(int keyCode, KeyEvent event) { //Handle the back button SharedPreferences settings = getSettings(); FragmentManager fragmentManager = getSupportFragmentManager(); if (keyCode == KeyEvent.KEYCODE_BACK) { if (getActionBar() != null) getActionBar().show();//from w w w . j av a2s.com } if (keyCode == KeyEvent.KEYCODE_BACK && settings.getBoolean("ConfirmExit", false) && isTaskRoot() && fragmentManager.getBackStackEntryCount() == 0) { //Ask the user if they want to quit new AlertDialog.Builder(this).setTitle(R.string.dialog_quit_title) .setMessage(R.string.dialog_quit_summary) .setPositiveButton(R.string.dialog_answer_yes, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { //Stop the activity MainActivity.this.finish(); } }).setNegativeButton(R.string.no, null).show(); return true; } else { return super.onKeyDown(keyCode, event); } }
From source file:com.androzic.MainActivity.java
private void selectItem(int position) { if (mDrawerAdapter.getSelectedItem() == position) return;//from w ww . j a v a 2 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); }
From source file:com.ereinecke.eatsafe.MainActivity.java
@Override public void onBackPressed() { /* Capture back events when WebFragment is active and pass them to WebView */ if (webFragment != null) { if (webFragment.canGoBack()) { // Logd(LOG_TAG, "webFragment canGoBack, will take backPress"); webFragment.goBack();/*from w ww. ja v a 2 s. com*/ return; } } /* Only go back if we're in single-pane mode */ if (!isTablet) { /* Assume we only have one level of navigation, clear back arrow and title */ showBackArrow(false); /* if we are showing a child view (ProductFragment, WebFragment that can't go back) */ FragmentManager fm = getSupportFragmentManager(); int count = fm.getBackStackEntryCount(); // (LOG_TAG, "BackStackEntryCount: " + count); if (count == 0) { // no fragments on backstack super.onBackPressed(); } else { // pop that fragment getFragmentManager().popBackStackImmediate(); } } }
From source file:com.androzic.MainActivity.java
@Override public void addFragment(Fragment fragment, String tag) { FragmentManager fm = getSupportFragmentManager(); // Get topmost fragment Fragment parent;//from www . j a v a 2 s . c o m if (fm.getBackStackEntryCount() > 0) { FragmentManager.BackStackEntry bse = fm.getBackStackEntryAt(fm.getBackStackEntryCount() - 1); parent = fm.findFragmentByTag(bse.getName()); } else { parent = fm.findFragmentById(R.id.content_frame); } FragmentTransaction ft = fm.beginTransaction(); // Detach parent ft.detach(parent); // Add new fragment to back stack ft.add(R.id.content_frame, fragment, tag); ft.addToBackStack(tag); ft.commit(); }