要触发支持库V4标签的onCreateView时onTabReselected触发,
public void onTabReselected(TabLayout.Tab tab) {
// specify tab position (optional)
if (tab.getPosition()==0){
// get adapter
CustomViewPagerAdapter adapter =
((CustomViewPagerAdapter) viewPager.getAdapter());
// get fragment
android.support.v4.app.Fragment fragment =
adapter.getRegisteredFragment(tab.getPosition());
getSupportFragmentManager()
.beginTransaction()
.detach(fragment)
.attach(fragment)
.commit();
}
}
registeredFragments变量简单地持有片断实例中CustomFragmentPagerAdapter类。
@Override
public Object instantiateItem(ViewGroup container, int position) {
Fragment fragment = (Fragment) super.instantiateItem(container, position);
registeredFragments.put(position, fragment);
return fragment;
}
@Override
public void destroyItem(ViewGroup container, int position, Object object) {
registeredFragments.remove(position);
super.destroyItem(container, position, object);
}
public Fragment getRegisteredFragment(int position) {
return registeredFragments.get(position);
}
不适用于android.support.v4.app.Fragment – khunshan 2015-03-03 17:38:38