Android 中的制表符和片段

Tabs and fragments in Android

我已经使用 android.support.v4.app.FragmentFragmentStatePagerAdapter 在我的 android 应用程序中创建了选项卡。它工作正常(我可以随心所欲地在选项卡之间滑动),但我有一个似乎无法解决的问题。

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

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

    }
    return null;
}

所以我的问题是:在片段中,我希望 activity 在第一次选择选项卡时出现。目前我在 Fragment1Fragment2 中的 onCreateView() 中有这段代码,但这发生在主屏幕第一次启动时,而不是第一次选择选项卡时。

有什么方法可以让某些事情只在第一次选择 Fragment 时发生?第一次选择该选项卡时,我希望发生的是 Activity 开始从用户那里收集一些信息,这是一次性事件。它有效,但正如我所解释的那样,当我进入主屏幕时会弹出此页面,这不是我想要的。

实现方法

onTabSelected(ActionBar.Tab tab, FragmentTransaction ft)

并将您的代码移到那里。为此,您的 activity 将需要实现接口 ActionBar.TabListener.

然后,如果这是第一次使用布尔变量选择选项卡,您将需要进行跟踪。