@Override public Object instantiateItem(ViewGroup container, int position) { Fragment fragment=null; try { fragment=(Fragment)super.instantiateItem(container,position); }catch (Exception e){ } return fragment; }
@Override public void destroyItem(ViewGroup container, int position, Object object) { if (0 <= mPages.indexOfKey(position)) { mPages.remove(position); } super.destroyItem(container, position, object); }
@Override public void setPrimaryItem(final ViewGroup container, final int position, final Object object) { super.setPrimaryItem(container, position, object); boolean changed = false; if (object instanceof Fragment) { changed = object != selected; selected = (Fragment) object; } else { changed = object != null; selected = null; } if (changed) { activity.invalidateOptionsMenu(); } } }
/** * Helper function to return the convert key fragment at position pos * * @param pos the position of the desired convert key fragment * @return will return the fragment or null if it doesn't exist at that position */ private ConvKeysFragment getConvKeyFrag(int pos) { FragmentStatePagerAdapter tempAdapter = (FragmentStatePagerAdapter) mUnitTypeViewPager.getAdapter(); //make sure we aren't trying to access an invalid page fragment if (pos < tempAdapter.getCount() && pos >= 0){ return (ConvKeysFragment) tempAdapter. instantiateItem(mUnitTypeViewPager, pos); } else return null; }
@Override public void notifyDataSetChanged() { mChildCount = getCount(); super.notifyDataSetChanged(); }
@Override public CharSequence getPageTitle(int position) { if (mTitles != null && position < mTitles.length) { return mTitles[position]; } return super.getPageTitle(position); }
/** * 将back事件分发给ViewPager中的Fragment,{@link #handleBackPress(FragmentManager)} 已经实现了对ViewPager的支持,所以自行决定是否使用该方法 * * @return 如果处理了back键则返回 <b>true</b> * @see #handleBackPress(FragmentManager) * @see #handleBackPress(Fragment) * @see #handleBackPress(FragmentActivity) */ public static boolean handleBackPress(ViewPager viewPager) { if (viewPager == null) return false; PagerAdapter adapter = viewPager.getAdapter(); if (adapter == null) return false; int currentItem = viewPager.getCurrentItem(); Fragment fragment; if (adapter instanceof FragmentPagerAdapter) { fragment = ((FragmentPagerAdapter) adapter).getItem(currentItem); } else if (adapter instanceof FragmentStatePagerAdapter) { fragment = ((FragmentStatePagerAdapter) adapter).getItem(currentItem); } else { fragment = null; } return isFragmentBackHandled(fragment); }
public void updateCurrentStyle() { if (selectorFragment != null) { adapter.notifyDataSetChanged(); scrollToCurrentStyle(); } }
@Override public CharSequence getPageTitle(int position) { if (mTitles != null && position < mTitles.length) { return mTitles[position]; } return super.getPageTitle(position); }
Fragment fragment = getItem(position); if (DEBUG) Log.v(TAG, "Adding item #" + position + ": f=" + fragment); if (mSavedState.size() > position) {
@Override public Object instantiateItem(ViewGroup container, int position) { Fragment fragment=null; try { fragment=(Fragment)super.instantiateItem(container,position); }catch (Exception e){ } return fragment; }
@Override public void destroyItem(ViewGroup container, int position, Object object) { holder.remove(position); super.destroyItem(container, position, object); }
public void updatePlaylists(final long id) { playlists = PlaylistLoader.getPlaylists(getActivity(), showAuto); playlistcount = playlists.size(); if (isDefault) { adapter.notifyDataSetChanged(); if (id != -1) { Handler handler = new Handler(); handler.postDelayed(new Runnable() { @Override public void run() { for (int i = 0; i < playlists.size(); i++) { long playlistid = playlists.get(i).id; if (playlistid == id) { pager.setCurrentItem(i); break; } } } }, 200); } } else { mAdapter.updateDataSet(playlists); } }
@Override public void setPrimaryItem(ViewGroup container, int position, Object object) { super.setPrimaryItem(container, position, object); if (getCurrentFragment() != object) { currentFragmentReference = new WeakReference<>((Fragment) object); } }
@Override public CharSequence getPageTitle(int position) { if (mTitles != null && mTitles.size() > 0) { return mTitles.get(position); } return super.getPageTitle(position); }
/** * 将back事件分发给ViewPager中的Fragment,{@link #handleBackPress(FragmentManager)} 已经实现了对ViewPager的支持,所以自行决定是否使用该方法 * * @return 如果处理了back键则返回 <b>true</b> * @see #handleBackPress(FragmentManager) * @see #handleBackPress(Fragment) * @see #handleBackPress(FragmentActivity) */ public static boolean handleBackPress(ViewPager viewPager) { if (viewPager == null) return false; PagerAdapter adapter = viewPager.getAdapter(); if (adapter == null) return false; int currentItem = viewPager.getCurrentItem(); Fragment fragment; if (adapter instanceof FragmentPagerAdapter) { fragment = ((FragmentPagerAdapter) adapter).getItem(currentItem); } else if (adapter instanceof FragmentStatePagerAdapter) { fragment = ((FragmentStatePagerAdapter) adapter).getItem(currentItem); } else { fragment = null; } return isFragmentBackHandled(fragment); }
@Override public Object instantiateItem(ViewGroup container, int position) { mFragments[position] = (Fragment) super.instantiateItem(container, position); return mFragments[position]; }
@Override public void destroyItem(ViewGroup container, int position, Object object) { super.destroyItem(container, position, object); }
public void updateCurrentStyle() { if (selectorFragment != null) adapter.notifyDataSetChanged(); }
@Override public void setPrimaryItem(ViewGroup container, int position, Object object) { super.setPrimaryItem(container, position, object); if (object instanceof Fragment) primaryItem = (Fragment) object; if (primaryItem != null) { if (visible != null) { primaryItem.setUserVisibleHint(visible); visible = null; } } }