2015-09-13 80 views
0

我已使用android.support.v4.app.FragmentFragmentStatePagerAdapter在我的android应用程序中创建了选项卡。它工作正常(我可以在标签之间滑动,就像我想的那样),但是我有一个我似乎无法解决的问题。Android中的选项卡和片段

我有一个主屏幕,我在其中添加了两个选项卡到ActionBar。在扩展了FragmentStatePagerAdapter课堂上,我有这样的代码:

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

    } 
    return null; 
} 

所以我的问题是这样的:在片段我想要一个活动出现第一次的标签被选中。目前,我在的Fragment1Fragment2中有此代码,但这种情况发生在主屏幕首次启动时,而不是第一次选择该选项卡。

有没有什么办法可以让我在第一次选择Fragment的时候发生什么?第一次选择标签时我想要发生的事情是活动开始从用户收集一些信息,并且这是一次性事件。它可以工作,但正如我已经解释的那样,当我进入主屏幕时,这个页面会弹出,这不是我想要的。

+0

看看这里的文档 - http://developer.android.com/guide/components/fragments.html - 你可能会发现一个帮助功能,可以做你想做的事 – Tasos

+0

听起来像你可以只是将功能从片段移动到主活动中的适配器。在片段中做这件事的问题在于,当您使用ViewPager和选项卡时,您无法控制何时加载它们。 –

回答

0

实现方法

onTabSelected(ActionBar.Tab选项卡,FragmentTransaction英尺)

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

然后,如果这是第一次使用布尔变量选择标签,则需要跟踪。

相关问题