Java Code Examples for android.support.v4.app.Fragment#setInitialSavedState()
The following examples show how to use
android.support.v4.app.Fragment#setInitialSavedState() .
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: MaterialDemoActivity.java From RecyclerViewPager with Apache License 2.0 | 6 votes |
@Override public Fragment getItem(int position, Fragment.SavedState savedState) { Fragment f = mFragmentCache.containsKey(position) ? mFragmentCache.get(position) : new CheeseListFragment(); Log.e("test", "getItem:" + position + " from cache" + mFragmentCache.containsKey (position)); if (savedState == null || f.getArguments() == null) { Bundle bundle = new Bundle(); bundle.putInt("index", position); f.setArguments(bundle); Log.e("test", "setArguments:" + position); } else if (!mFragmentCache.containsKey(position)) { f.setInitialSavedState(savedState); Log.e("test", "setInitialSavedState:" + position); } mFragmentCache.put(position, f); return f; }
Example 2
Source File: MaterialDemoWithLoopPagerActivity.java From RecyclerViewPager with Apache License 2.0 | 6 votes |
@Override public Fragment getItem(int position, Fragment.SavedState savedState) { position = mRecyclerView.transformToActualPosition(position); Fragment f = mFragmentCache.containsKey(position) ? mFragmentCache.get(position) : new CheeseListFragment(); Log.e("test", "getItem:" + position + " from cache" + mFragmentCache.containsKey (position)); if (savedState == null || f.getArguments() == null) { Bundle bundle = new Bundle(); bundle.putInt("index", position); f.setArguments(bundle); Log.e("test", "setArguments:" + position); } else if (!mFragmentCache.containsKey(position)) { f.setInitialSavedState(savedState); Log.e("test", "setInitialSavedState:" + position); } mFragmentCache.put(position, f); return f; }
Example 3
Source File: FragmentStatePagerAdapterFix.java From UMS-Interface with GNU General Public License v3.0 | 5 votes |
@SuppressLint("LongLogTag") @Override public Object instantiateItem(ViewGroup container, int position) { // If we already have this item instantiated, there is nothing // to do. This can happen when we are restoring the entire pager // from its saved state, where the fragment manager has already // taken care of restoring the fragments we previously had instantiated. if (mFragments.size() > position) { Fragment f = mFragments.get(position); if (f != null) { return f; } } if (mCurTransaction == null) { mCurTransaction = mFragmentManager.beginTransaction(); } Fragment fragment = getItem(position); if (DEBUG) Log.v(TAG, "Adding item #" + position + ": f=" + fragment); if (mSavedState.size() > position) { Fragment.SavedState fss = mSavedState.get(position); if (fss != null) { fragment.setInitialSavedState(fss); } } while (mFragments.size() <= position) { mFragments.add(null); } fragment.setMenuVisibility(false); fragment.setUserVisibleHint(false); mFragments.set(position, fragment); mCurTransaction.add(container.getId(), fragment); return fragment; }
Example 4
Source File: TaggedFragmentStatePagerAdapter.java From oneHookLibraryAndroid with Apache License 2.0 | 5 votes |
@Override public Object instantiateItem(ViewGroup container, int position) { // If we already have this item instantiated, there is nothing // to do. This can happen when we are restoring the entire pager // from its saved state, where the fragment manager has already // taken care of restoring the fragments we previously had instantiated. if (mFragments.size() > position) { Fragment f = mFragments.get(position); if (f != null) { return f; } } if (mCurTransaction == null) { mCurTransaction = mFragmentManager.beginTransaction(); } Fragment fragment = getItem(position); if (DEBUG) Log.v(TAG, "Adding item #" + position + ": f=" + fragment); if (mSavedState.size() > position) { Fragment.SavedState fss = mSavedState.get(position); if (fss != null) { fragment.setInitialSavedState(fss); } } while (mFragments.size() <= position) { mFragments.add(null); } fragment.setMenuVisibility(false); mFragments.set(position, fragment); mCurTransaction.add(container.getId(), fragment, getTag(position)); return fragment; }
Example 5
Source File: TaggedFragmentStatePagerAdapter.java From yahnac with Apache License 2.0 | 5 votes |
@Override public Object instantiateItem(ViewGroup container, int position) { // If we already have this item instantiated, there is nothing // to do. This can happen when we are restoring the entire pager // from its saved state, where the fragment manager has already // taken care of restoring the fragments we previously had instantiated. if (mFragments.size() > position) { Fragment f = mFragments.get(position); if (f != null) { return f; } } if (mCurTransaction == null) { mCurTransaction = mFragmentManager.beginTransaction(); } Fragment fragment = getItem(position); if (DEBUG) { Log.v(TAG, "Adding item #" + position + ": f=" + fragment); } if (mSavedState.size() > position) { Fragment.SavedState fss = mSavedState.get(position); if (fss != null) { fragment.setInitialSavedState(fss); } } while (mFragments.size() <= position) { mFragments.add(null); } fragment.setMenuVisibility(false); fragment.setUserVisibleHint(false); mFragments.set(position, fragment); mCurTransaction.add(container.getId(), fragment, getTag(position)); return fragment; }
Example 6
Source File: FragmentNoMenuStatePagerAdapter.java From actor-platform with GNU Affero General Public License v3.0 | 5 votes |
@Override public Object instantiateItem(ViewGroup container, int position) { // If we already have this item instantiated, there is nothing // to do. This can happen when we are restoring the entire pager // from its saved state, where the fragment manager has already // taken care of restoring the fragments we previously had instantiated. if (mFragments.size() > position) { Fragment f = mFragments.get(position); if (f != null) { return f; } } if (mCurTransaction == null) { mCurTransaction = mFragmentManager.beginTransaction(); } Fragment fragment = getItem(position); if (DEBUG) Log.v(TAG, "Adding item #" + position + ": f=" + fragment); if (mSavedState.size() > position) { Fragment.SavedState fss = mSavedState.get(position); if (fss != null) { fragment.setInitialSavedState(fss); } } while (mFragments.size() <= position) { mFragments.add(null); } // fragment.setMenuVisibility(false); fragment.setUserVisibleHint(false); mFragments.set(position, fragment); mCurTransaction.add(container.getId(), fragment); return fragment; }
Example 7
Source File: BackStackEntry.java From android-multibackstack with Apache License 2.0 | 5 votes |
@NonNull public Fragment toFragment(@NonNull Context context) { Fragment f = Fragment.instantiate(context, fname); f.setInitialSavedState(state); f.setArguments(args); return f; }
Example 8
Source File: ArrayFragmentStatePagerAdapter.java From ArrayPagerAdapter with Apache License 2.0 | 5 votes |
@SuppressLint("CommitTransaction") @Override public Object instantiateItem(ViewGroup container, int position) { // If we already have this item instantiated, there is nothing // to do. This can happen when we are restoring the entire pager // from its saved state, where the fragment manager has already // taken care of restoring the fragments we previously had instantiated. if (mFragments.size() > position) { Fragment f = mFragments.get(position); if (f != null) { return super.instantiateItem(container, position); } } if (mCurTransaction == null) { mCurTransaction = mFragmentManager.beginTransaction(); } Fragment fragment = getFragment(getItem(position), position); if (DEBUG) Log.d(TAG, "Adding item #" + position + ": f=" + fragment); if (mSavedState.size() > position) { Fragment.SavedState fss = mSavedState.get(position); if (fss != null) { fragment.setInitialSavedState(fss); } } while (mFragments.size() <= position) { mFragments.add(null); } fragment.setMenuVisibility(false); fragment.setUserVisibleHint(false); mFragments.set(position, fragment); mCurTransaction.add(container.getId(), fragment); return super.instantiateItem(container, position); }
Example 9
Source File: FragmentListPageAdapter.java From SprintNBA with Apache License 2.0 | 5 votes |
@Override public Object instantiateItem(ViewGroup container, int position) { // If we already have this item instantiated, there is nothing // to do. This can happen when we are restoring the entire pager // from its saved state, where the fragment manager has already // taken care of restoring the fragments we previously had instantiated. if (mFragments.size() > position) { Fragment f = mFragments.get(position); if (f != null) { return f; } } if (mCurTransaction == null) { mCurTransaction = mFragmentManager.beginTransaction(); } Fragment fragment = getItem(position); if (DEBUG) Log.v(TAG, "Adding item #" + position + ": f=" + fragment); if (mSavedState.size() > position) { Fragment.SavedState fss = mSavedState.get(position); if (fss != null) { fragment.setInitialSavedState(fss); } } while (mFragments.size() <= position) { mFragments.add(null); } fragment.setMenuVisibility(false); fragment.setUserVisibleHint(false); mFragments.set(position, fragment); mCurTransaction.add(container.getId(), fragment); return fragment; }
Example 10
Source File: FragmentStatePagerAdapter.java From fragmentviewpager with Apache License 2.0 | 5 votes |
@Override public Object instantiateItem(ViewGroup container, int position) { // ----------------------------------------------------------------------------------------- // If we already have this item instantiated, there is nothing to do. This can happen when // we are restoring the entire pager from its saved state, where the fragment manager has // already taken care of restoring the fragments we previously had instantiated. // ----------------------------------------------------------------------------------------- Fragment existingFragment = getFragment(position); if (existingFragment != null) { return existingFragment; } // ----------------------------------------------------------------------------------------- // Else, continue with normal flow. // ----------------------------------------------------------------------------------------- if (mCurTransaction == null) { mCurTransaction = mFragmentManager.beginTransaction(); } Fragment fragment = instantiateFragment(position); if (DEBUG) Log.v(TAG, "Adding item #" + position + ": f=" + fragment); if (mSavedState.size() > position) { Fragment.SavedState fss = mSavedState.get(position); if (fss != null) { fragment.setInitialSavedState(fss); } } while (mFragments.size() <= position) { mFragments.add(null); } fragment.setMenuVisibility(false); fragment.setUserVisibleHint(false); mFragments.set(position, fragment); mCurTransaction.add(container.getId(), fragment); return fragment; }
Example 11
Source File: UpdatableFragmentPagerAdapter.java From UpdatableFragmentStatePagerAdapter with Apache License 2.0 | 5 votes |
@Override @NonNull public Object instantiateItem(ViewGroup container, int position) { long tag = getItemId(position); Fragment fragment = mFragments.get(tag); // If we already have this item instantiated, there is nothing // to do. This can happen when we are restoring the entire pager // from its saved state, where the fragment manager has already // taken care of restoring the fragments we previously had instantiated. if (fragment != null) { return fragment; } if (mCurTransaction == null) { mCurTransaction = mFragmentManager.beginTransaction(); } fragment = getItem(position); // restore state final Fragment.SavedState savedState = mSavedStates.get(tag); if (savedState != null) { fragment.setInitialSavedState(savedState); } fragment.setMenuVisibility(false); fragment.setUserVisibleHint(false); mFragments.put(tag, fragment); mCurTransaction.add(container.getId(), fragment, "f" + tag); return fragment; }
Example 12
Source File: CustomFragmentStatePagerAdapter.java From RetroMusicPlayer with GNU General Public License v3.0 | 5 votes |
@Override public Object instantiateItem(ViewGroup container, int position) { // If we already have this item instantiated, there is nothing // to do. This can happen when we are restoring the entire pager // from its saved state, where the fragment manager has already // taken care of restoring the fragments we previously had instantiated. if (mFragments.size() > position) { Fragment f = mFragments.get(position); if (f != null) { return f; } } if (mCurTransaction == null) { mCurTransaction = mFragmentManager.beginTransaction(); } Fragment fragment = getItem(position); if (DEBUG) Log.v(TAG, "Adding item #" + position + ": f=" + fragment); if (mSavedState.size() > position) { Fragment.SavedState fss = mSavedState.get(position); if (fss != null) { fragment.setInitialSavedState(fss); } } while (mFragments.size() <= position) { mFragments.add(null); } fragment.setMenuVisibility(false); fragment.setUserVisibleHint(false); mFragments.set(position, fragment); mCurTransaction.add(container.getId(), fragment); return fragment; }
Example 13
Source File: FragmentStatePagerAdapterFix.java From UMS-Interface with GNU General Public License v3.0 | 5 votes |
@SuppressLint("LongLogTag") @Override public Object instantiateItem(ViewGroup container, int position) { // If we already have this item instantiated, there is nothing // to do. This can happen when we are restoring the entire pager // from its saved state, where the fragment manager has already // taken care of restoring the fragments we previously had instantiated. if (mFragments.size() > position) { Fragment f = mFragments.get(position); if (f != null) { return f; } } if (mCurTransaction == null) { mCurTransaction = mFragmentManager.beginTransaction(); } Fragment fragment = getItem(position); if (DEBUG) Log.v(TAG, "Adding item #" + position + ": f=" + fragment); if (mSavedState.size() > position) { Fragment.SavedState fss = mSavedState.get(position); if (fss != null) { fragment.setInitialSavedState(fss); } } while (mFragments.size() <= position) { mFragments.add(null); } fragment.setMenuVisibility(false); fragment.setUserVisibleHint(false); mFragments.set(position, fragment); mCurTransaction.add(container.getId(), fragment); return fragment; }
Example 14
Source File: CustomFragmentStatePagerAdapter.java From Orin with GNU General Public License v3.0 | 5 votes |
@Override public Object instantiateItem(ViewGroup container, int position) { // If we already have this item instantiated, there is nothing // to do. This can happen when we are restoring the entire pager // from its saved state, where the fragment manager has already // taken care of restoring the fragments we previously had instantiated. if (mFragments.size() > position) { Fragment f = mFragments.get(position); if (f != null) { return f; } } if (mCurTransaction == null) { mCurTransaction = mFragmentManager.beginTransaction(); } Fragment fragment = getItem(position); if (DEBUG) Log.v(TAG, "Adding item #" + position + ": f=" + fragment); if (mSavedState.size() > position) { Fragment.SavedState fss = mSavedState.get(position); if (fss != null) { fragment.setInitialSavedState(fss); } } while (mFragments.size() <= position) { mFragments.add(null); } fragment.setMenuVisibility(false); fragment.setUserVisibleHint(false); mFragments.set(position, fragment); mCurTransaction.add(container.getId(), fragment); return fragment; }
Example 15
Source File: UpdatableFragmentPagerAdapter.java From Dainty with Apache License 2.0 | 5 votes |
@Override @NonNull public Object instantiateItem(ViewGroup container, int position) { long tag = getItemId(position); Fragment fragment = mFragments.get(tag); // If we already have this item instantiated, there is nothing // to do. This can happen when we are restoring the entire pager // from its saved state, where the fragment manager has already // taken care of restoring the fragments we previously had instantiated. if (fragment != null) { return fragment; } if (mCurTransaction == null) { mCurTransaction = mFragmentManager.beginTransaction(); } fragment = getItem(position); // restore state final Fragment.SavedState savedState = mSavedStates.get(tag); if (savedState != null) { fragment.setInitialSavedState(savedState); } fragment.setMenuVisibility(false); fragment.setUserVisibleHint(false); mFragments.put(tag, fragment); mCurTransaction.add(container.getId(), fragment, "f" + tag); return fragment; }
Example 16
Source File: OpenPagerAdapter.java From OpenPagerAdapter with Apache License 2.0 | 4 votes |
@Override public Object instantiateItem(ViewGroup container, int position) { // If we already have this item instantiated, there is nothing // to do. This can happen when we are restoring the entire pager // from its saved state, where the fragment manager has already // taken care of restoring the fragments we previously had instantiated. if (mItemInfos.size() > position) { ItemInfo ii = mItemInfos.get(position); if (ii != null) { //判断位置是否相等,如果不相等说明新数据有增加或删除(导致了ViewPager那边有空位), // 而这时notifyDataSetChanged方法还没有完成,ViewPager会先调用instantiateItem来获取新的页面 //所以为了不取错页面,我们需要对缓存进行检查和调整位置:checkProcessCacheChanged if (ii.position == position) { return ii; } else { checkProcessCacheChanged(); } } } if (mCurTransaction == null) { mCurTransaction = mFragmentManager.beginTransaction(); } Fragment fragment = getItem(position); if (DEBUG) Log.v(TAG, "Adding item #" + position + ": f=" + fragment); if (mSavedState.size() > position) { Fragment.SavedState fss = mSavedState.get(position); if (fss != null) { fragment.setInitialSavedState(fss); } } while (mItemInfos.size() <= position) { mItemInfos.add(null); } fragment.setMenuVisibility(false); fragment.setUserVisibleHint(false); ItemInfo<T> iiNew = new ItemInfo<>(fragment, getItemData(position), position); mItemInfos.set(position, iiNew); mCurTransaction.add(container.getId(), fragment); return iiNew; }
Example 17
Source File: StateRestoreDemoActivity.java From HelloActivityAndFragment with Apache License 2.0 | 4 votes |
private void restoreFragmentState(int index, Fragment fragment) { Fragment.SavedState savedState = savedStateSparseArray.get(index); fragment.setInitialSavedState(savedState); }