List of usage examples for android.support.v4.app FragmentManager getBackStackEntryAt
public abstract BackStackEntry getBackStackEntryAt(int index);
From source file:au.org.intersect.faims.android.ui.activity.ShowModuleActivity.java
@Override public void onBackPressed() { FragmentManager fragmentManager = getSupportFragmentManager(); if (fragmentManager.getBackStackEntryCount() > 0) { TabGroup currentTabGroup = (TabGroup) fragmentManager.findFragmentByTag( fragmentManager.getBackStackEntryAt(fragmentManager.getBackStackEntryCount() - 1).getName()); if (currentTabGroup != null) { renderer.invalidateListViews(currentTabGroup); renderer.setCurrentTabGroup(currentTabGroup); getActionBar().setTitle(currentTabGroup.getLabel()); }/*from w ww .j a va2s. co m*/ super.onBackPressed(); } else { if (syncStarted) { AlertDialog.Builder builder = new AlertDialog.Builder(this); builder.setTitle("Stop Syncing"); builder.setMessage( "Syncing is still in progress. Do you want to exit the activity and stop the sync?"); builder.setPositiveButton("Yes", new OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { syncStarted = false; stopSync(); ShowModuleActivity.super.onBackPressed(); } }); builder.setNegativeButton("No", new OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { // Do nothing } }); builder.show(); } else { AlertDialog.Builder builder = new AlertDialog.Builder(this); builder.setTitle("Exit Module"); builder.setMessage("Do you want to exit module?"); builder.setPositiveButton("Yes", new OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { ShowModuleActivity.super.onBackPressed(); } }); builder.setNegativeButton("No", new OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { // Do nothing } }); builder.show(); } } }
From source file:com.app.blockydemo.ui.ScriptActivity.java
@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) { if (fragment.isVisible()) { return fragment.onKey(null, keyCode, event); }/*from w w w .ja va 2s . com*/ } } FormulaEditorVariableListFragment formulaEditorVariableListFragment = (FormulaEditorVariableListFragment) getSupportFragmentManager() .findFragmentByTag(FormulaEditorVariableListFragment.VARIABLE_TAG); if (formulaEditorVariableListFragment != null) { if (formulaEditorVariableListFragment.isVisible()) { return formulaEditorVariableListFragment.onKey(null, keyCode, event); } } FormulaEditorFragment formulaEditor = (FormulaEditorFragment) getSupportFragmentManager() .findFragmentByTag(FormulaEditorFragment.FORMULA_EDITOR_FRAGMENT_TAG); if (formulaEditor != null) { if (formulaEditor.isVisible()) { scriptFragment.getAdapter().updateProjectBrickList(); return formulaEditor.onKey(null, keyCode, event); } } int backStackEntryCount = fragmentManager.getBackStackEntryCount(); for (int i = backStackEntryCount; i > 0; --i) { String backStackEntryName = fragmentManager.getBackStackEntryAt(i - 1).getName(); if (backStackEntryName != null) { fragmentManager.popBackStack(); } else { break; } } if (keyCode == KeyEvent.KEYCODE_BACK) { if (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); }
From source file:com.chatwing.whitelabel.activities.CommunicationActivity.java
@Override public void onBackPressed() { if (mCurrentCommunicationMode.isSecondaryDrawerOpening()) { ((ChatboxModeManager) mCurrentCommunicationMode).closeSecondaryDrawer(); } else if (!mCurrentCommunicationMode.isCommunicationBoxDrawerOpening()) { // Both online users and chat boxes/conversation lists are closed. // Open chat boxes/conversation list now. mCurrentCommunicationMode.openCommunicationBoxDrawer(); } else {// w ww.j av a2s.c o m // Online users list is closed, chat boxes list is opened. // User probably is trying to quit the app. FragmentManager fragmentManager = getSupportFragmentManager(); int stackSize = fragmentManager.getBackStackEntryCount(); if (stackSize == 0) { finish(); } else { String fragmentTag = fragmentManager.getBackStackEntryAt(stackSize - 1).getName(); fragmentManager.popBackStack(fragmentTag, FragmentManager.POP_BACK_STACK_INCLUSIVE); } } }
From source file:org.catrobat.catroid.ui.ScriptActivity.java
@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); }/* w ww .j a va2 s. c o m*/ } String tag1 = UserBrickDataEditorFragment.BRICK_DATA_EDITOR_FRAGMENT_TAG; UserBrickDataEditorFragment fragment = (UserBrickDataEditorFragment) fragmentManager .findFragmentByTag(tag1); if (fragment != null && fragment.isVisible()) { return fragment.onKey(null, keyCode, event); } FormulaEditorDataFragment formulaEditorDataFragment = (FormulaEditorDataFragment) getSupportFragmentManager() .findFragmentByTag(FormulaEditorDataFragment.USER_DATA_TAG); if (formulaEditorDataFragment != null && formulaEditorDataFragment.isVisible()) { return formulaEditorDataFragment.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); }
From source file:hku.fyp14017.blencode.ui.ScriptActivity.java
@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); }/*from www . jav a 2 s . co m*/ } String tag1 = UserBrickDataEditorFragment.BRICK_DATA_EDITOR_FRAGMENT_TAG; UserBrickDataEditorFragment fragment = (UserBrickDataEditorFragment) fragmentManager .findFragmentByTag(tag1); 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); } SensorTagFragment sensorTagFragment = (SensorTagFragment) getSupportFragmentManager() .findFragmentByTag(SensorTagFragment.SENSOR_TAG_FRAGMENT_TAG); if (sensorTagFragment != null && sensorTagFragment.isVisible()) { return sensorTagFragment.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); }
From source file:com.cnm.cnmrc.fragment.vodtvch.Base.java
@Override public void onDestroyView() { {//from w ww.j a va2 s . c om // 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(); }