| | |
| | | this.restoreFragment();//恢复fragment页面 |
| | | } else { |
| | | // |
| | | this.removeAllFragments(); |
| | | this.removeAllFragments(mFragmentManager); |
| | | //正常启动时调用 |
| | | if (!fragmentList.isEmpty()) { |
| | | fragmentList.clear(); |
| | |
| | | ft.commit(); |
| | | } |
| | | |
| | | private void removeAllFragments() { |
| | | if (mFragmentManager == null) return; |
| | | private void removeAllFragments(FragmentManager manager) { |
| | | if (manager == null) return; |
| | | try { |
| | | final List<Fragment> fragments = mFragmentManager.getFragments(); |
| | | final List<Fragment> fragments = manager.getFragments(); |
| | | if (fragments.isEmpty()) { |
| | | return; |
| | | } |
| | | FragmentTransaction transaction = mFragmentManager.beginTransaction(); |
| | | FragmentTransaction transaction = manager.beginTransaction(); |
| | | for (int i = 0; i < fragments.size(); i++) { |
| | | Fragment fragment = fragments.get(i); |
| | | if (fragment != null) { |
| | | // FragmentManager childManager = fragment.getChildFragmentManager(); |
| | | // removeAllFragments(childManager); |
| | | transaction.remove(fragment); |
| | | } |
| | | } |