Android中的标签和片段

Android中的标签和片段,android,android-fragments,tabs,android-support-library,Android,Android Fragments,Tabs,Android Support Library,我使用android.support.v4.app.Fragment和FragmentStatePagerAdapter在android应用程序中创建了选项卡。它工作正常,我可以在标签之间随意滑动,但我有一个问题似乎无法解决 我有一个主屏幕,在其中我向ActionBar添加了两个选项卡。在扩展FragmentStatePagerAdapter的类中,我有以下代码: @Override public Fragment getItem(int i) { switch (i) {

我使用android.support.v4.app.Fragment和FragmentStatePagerAdapter在android应用程序中创建了选项卡。它工作正常,我可以在标签之间随意滑动,但我有一个问题似乎无法解决

我有一个主屏幕,在其中我向ActionBar添加了两个选项卡。在扩展FragmentStatePagerAdapter的类中,我有以下代码:

@Override
public Fragment getItem(int i) {
    switch (i) {
        case 0:
           return new Fragment1();
        case 1:
           return new Fragment2();

    }
    return null;
}
所以我的问题是:在片段中,我希望在第一次选择选项卡时出现一个活动。目前,我在Fragment1和Fragment2中的onCreateView中有此代码,但这发生在第一次启动主屏幕时,而不是第一次选择选项卡时

有没有什么方法可以让某个片段只在第一次被选中时发生?第一次选择选项卡时,我希望启动一个活动,从用户那里收集一些信息,这是一个一次性事件。它可以工作,但正如我所解释的,当我进入主屏幕时,这个页面会弹出,这不是我想要的

实现方法

onTabSelectedActionBar.Tab选项卡,FragmentTransaction ft

然后把代码移到那里。为此,您的活动将需要实现接口ActionBar.TabListener


然后,如果这是第一次使用布尔变量选择tab,您需要保持跟踪。

查看此处的文档--您可能会发现一个帮助函数,它可以做您想做的事情。听起来,您可以将功能从片段移动到主活动中的适配器。在片段中执行此操作的问题在于,当您使用ViewPager和选项卡时,您无法控制何时加载片段。