我有一个扩展FragmentActivity的活动,我使用自定义FragmentStatePagerAdapter扩展FragmentStatePagerAdapter,SlidingTabLayout和pagerView。
在某些情况下,我希望我的fragmentActivity能够在特定的(第三个,如果重要的话)标签上开始。 我已经尝试了很多关于我在SO上发现但没有工作的建议。当我尝试使用" pager.setCurrentItem(3)"问题是onCreateView从未调用该片段,因此没有正确分配所有对象和值。
感谢您的帮助!
编辑:添加更多信息
这是我启动适配器的方式:
List<Fragment> fragments = new Vector<Fragment>();
fragments.add(Fragment.instantiate(this, NewsTab.class.getName()));
fragments.add(Fragment.instantiate(this, PhotosTab.class.getName()));
fragments.add(Fragment.instantiate(this, AboutTab.class.getName()));
fragments.add(Fragment.instantiate(this, NextTab.class.getName()));
adapter = new ProtestViewPagerAdapter(getSupportFragmentManager(),Titles, NumOfTabs, fragments);
这是我的查看寻呼机适配器:
public class ProtestViewPagerAdapter extends FragmentStatePagerAdapter {
public final String TAG = "PRTST_V_PGR_ADPTR";
private CharSequence Titles[];
private int NumbOfTabs;
private List<Fragment> fragments;
// Build a Constructor and assign the passed Values to appropriate values in the class
public ProtestViewPagerAdapter(FragmentManager fm, CharSequence mTitles[], int mNumbOfTabs,
List<Fragment> fragments) {
super(fm);
this.fragments = fragments;
this.Titles = mTitles;
this.NumbOfTabs = mNumbOfTabs;
}
//This method return the fragment for the every position in the View Pager
@Override
public Fragment getItem(int position) {
return fragments.get(position);
// switch (position){
// case 0:
// NewsTab news = new NewsTab();
// return news;
// case 1:
// PhotosTab photos = new PhotosTab();
// return photos;
// case 2:
// AboutTab about = new AboutTab();
// return about;
// case 3:
// NextTab next = new NextTab();
// return next;
// default:
// return null;
// }
}
// This method return the titles for the Tabs in the Tab Strip
@Override
public CharSequence getPageTitle(int position) {
return this.Titles[position];
}
// This method return the Number of tabs for the tabs Strip
@Override
public int getCount() {
return this.NumbOfTabs;
}
}
每个选项卡都实现了只有
的FragmentInterfacevoid fragmentBecameVisible();
和&#34;标签&#34;也扩展了&#34; MyBaseTab&#34;扩展了android.support.v4.app.Fragment