选项卡式片段活动无缘无故地创建不必要的选项卡?

时间:2014-09-20 11:53:53

标签: android android-fragments

修改:the project folder, ready for android studio

我从here下载了EffectiveNavitaion.zip项目并开始修补它,

on'DemoObjectFragment'我在函数外添加了一个计数器:

static int count =0

我在OnCreateView()

中更改了一行
((TextView) rootView.findViewById(android.R.id.text1)).setText(
    (savedInstanceState == null ? "null" : "restored") + count++);

我注意到,当我在交替标签之间滑动时,例如(1,2,3,2,3,2,3),标签不会改变(它们的计数保持不变),我们看到旧的从未销毁过的标签

尽管DemoObjectFragment上的onCreateView()在每次滑动时都会被调用,但似乎每次滑动都会创建一个新的Fragment并且最终根本没有被使用,

我的问题是:我看到的行为是否有原因或代码中是否存在问题?

1 个答案:

答案 0 :(得分:0)

我想我发现了这一点,当一个特定的项目被调用时,'FragmentStatePagerAdapter'会想让2个直接邻居准备好进行滑动,

它已经有一个(我们来自的那个),它要求另一个,事情是,它一次只缓存3个(我们正在查看的那个及其邻居)

因此,在2个制表符之间交替总是导致'FragmentStatePagerAdapter'中的getItem()调用