private boolean naviMainFragment(String ftag) { FragmentManager fragmentManager = MainActivity.getInstance().getSupportFragmentManager(); int count = fragmentManager.getBackStackEntryCount(); for (int i = 0; i < count; i++) { BackStackEntry entry = fragmentManager.getBackStackEntryAt(i); if (entry != null && !TextUtils.isEmpty(ftag) && entry.getName().contains(ftag)) { if (i < count - 1) { BackStackEntry topEntry = fragmentManager.getBackStackEntryAt(i + 1); fragmentManager.popBackStack(topEntry.getId(), FragmentManager.POP_BACK_STACK_INCLUSIVE); popFragment(fragmentStack.size() - i - 1); } return true; } } return false; }
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); } }
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(); } }
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 void onBackStackChanged() { mPath = EXTERNAL_BASE_PATH; int count = mFragmentManager.getBackStackEntryCount(); if (count > 0) { BackStackEntry fragment = mFragmentManager.getBackStackEntryAt(count - 1); mPath = fragment.getName(); } setTitle(mPath); }
@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); } }
@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(); }
public boolean closeFragment() { try { FragmentManager fragmentManager = MainActivity.getInstance().getSupportFragmentManager(); int count = fragmentManager.getBackStackEntryCount(); if (count > 0) { BackStackEntry entry = fragmentManager.getBackStackEntryAt(count - 1); fragmentManager.popBackStack(entry.getId(), FragmentManager.POP_BACK_STACK_INCLUSIVE); popFragment(1); return true; } } catch (Exception e) { } return false; }
/*package*/ void finishFragment() { FragmentActivity activity = getActivity(); if (activity instanceof JRFragmentHostActivity) { if (mFragmentResult != null) ((JRFragmentHostActivity) activity)._setResult(mFragmentResult); activity.finish(); } else if (null != activity) { FragmentManager fm = activity.getSupportFragmentManager(); int bsec = fm.getBackStackEntryCount(); if (bsec > 0 && fm.getBackStackEntryAt(bsec - 1).getName().equals(getLogTag())) { fm.popBackStack(); } else if (bsec > 0) { Log.e(TAG, "Error trying to finish fragment not on top of back stack"); fm.popBackStack(getLogTag(), FragmentManager.POP_BACK_STACK_INCLUSIVE); } else { // bsec == 0 // Root fragment, if it's finishing it's because authentication finished? fm.beginTransaction().remove(this).setTransition(FragmentTransaction.TRANSIT_NONE).commit(); } } }
private void clearBackStack() { FragmentManager fragmentManager = getSupportFragmentManager(); if (0 < fragmentManager.getBackStackEntryCount()) { int id = fragmentManager.getBackStackEntryAt(0).getId(); fragmentManager.popBackStackImmediate(id, FragmentManager.POP_BACK_STACK_INCLUSIVE); } List<Fragment> fragments = fragmentManager.getFragments(); if (fragments == null) { return; } FragmentTransaction trans = fragmentManager.beginTransaction(); for (Fragment fragment : fragments) { if (fragment != null) { trans.remove(fragment); } } trans.commit(); }
@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(); }
@Override public boolean onKeyDown(int keyCode, KeyEvent event) { FragmentManager fragmentManager = getSupportFragmentManager(); for (String tag : FormulaEditorListFragment.TAGS) { FormulaEditorListFragment fragment = (FormulaEditorListFragment) fragmentManager.findFragmentByTag(tag); if (fragment != null && fragment.isVisible()) { return fragment.onKey(null, keyCode, event); } } FormulaEditorVariableListFragment formulaEditorVariableListFragment = (FormulaEditorVariableListFragment) getSupportFragmentManager() .findFragmentByTag(FormulaEditorVariableListFragment.VARIABLE_TAG); if (formulaEditorVariableListFragment != null && formulaEditorVariableListFragment.isVisible()) { return formulaEditorVariableListFragment.onKey(null, keyCode, event); } FormulaEditorFragment formulaEditor = (FormulaEditorFragment) getSupportFragmentManager() .findFragmentByTag(FormulaEditorFragment.FORMULA_EDITOR_FRAGMENT_TAG); if (formulaEditor != null && formulaEditor.isVisible()) { scriptFragment.getAdapter().updateProjectBrickList(); return formulaEditor.onKey(null, keyCode, event); } if (soundFragment != null && soundFragment.isVisible() && soundFragment.onKey(null, keyCode, event)) { return true; } if (lookFragment != null && lookFragment.isVisible() && lookFragment.onKey(null, keyCode, event)) { return true; } int backStackEntryCount = fragmentManager.getBackStackEntryCount(); for (int i = backStackEntryCount; i > 0; --i) { String backStackEntryName = fragmentManager.getBackStackEntryAt(i - 1).getName(); if (backStackEntryName != null && (backStackEntryName.equals(LookFragment.TAG) || backStackEntryName.equals(SoundFragment.TAG))) { fragmentManager.popBackStack(); } else { break; } } if (keyCode == KeyEvent.KEYCODE_BACK && currentFragmentPosition == FRAGMENT_SCRIPTS) { DragAndDropListView listView = scriptFragment.getListView(); if (listView.isCurrentlyDragging()) { listView.resetDraggingScreen(); BrickAdapter adapter = scriptFragment.getAdapter(); adapter.removeDraggedBrick(); return true; } } return super.onKeyDown(keyCode, event); }