android.support.v4.app.FragmentPagerAdapter getItem(int position)被调用两次?

时间:2012-10-30 13:03:51

标签: android

我有一个包含片段的视图寻呼机。当片段寻呼机适配器首次被实例化时,必须实现的getItem(int position)方法被调用两次,这在Fragment中引起了麻烦,因为我根据位置获取数据。因此,例如,LOG打印显示它是第一个位置0,然后是位置1.

为什么会发生这种情况?

我在这里关注示例:http://wptrafficanalyzer.in/blog/implementing-horizontal-view-swiping-using-viewpager-and-fragmentpageradapter-in-android/

1 个答案:

答案 0 :(得分:6)

调用getItem(int position)将片段加载(附加)到片段寻呼机中的位置。默认情况下,不仅会加载可见片段,还会加载下一个和前一个片段。因此,当您滚动到第二个“页面”时,您将看到它将加载第三个页面。当你去第3个时,它将卸载第一个片段,然后加载第四个片段。当你回到第二个片段时,它将再次加载第一个片段。等等。