我在ViewPager中有一些片段,我发现Fragment的onActivityCreated
和onCreateView
都在我预期之前在页面上被调用。
例如,当ViewPager从第2页过渡到3时,第4页的onCreateView
和onActivityCreated
中的片段正在被调用。
我打算在onActivityCreated
中发起网络请求,但它很快就会启动一个屏幕。根据{{3}},onActivityCreated
被称为"当片段的活动被创建并且该片段的视图层次被实例化时。"这让我相信我正确使用了这个方法。
答案 0 :(得分:4)
为了顺利加载数据,寻呼机将提前加载片段。 1.如果你处于第一个位置(第一个片段),那么它会自动加载下两个片段 2.如果你是2或更晚,那么它将加载前一个片段和下一个片段
答案 1 :(得分:3)
ViewPager加载下一个片段,以便在片段之间平滑过渡,这就是为什么要调用下一个片段的onCreate()
,onCreateView()
和onResume()
。
因此,在viewPager上添加onPageChangeListener
,如:
yourViewPager.addOnPageChangeListener(new OnPageChangeListener{
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {}
@Override
public void onPageSelected(int position) {
switch(position){
//your code for network operation
}
}
@Override
public void onPageScrollStateChanged(int state) {}
});
答案 2 :(得分:0)
正如其他人所提到的,这是为了在视图寻呼机中平滑加载数据。您可以执行的操作是在<div>
中调用您的代码,或者在onAattach()
中用户可以看到您的片段。 Android docs提供了有关生命周期方法的更多详细信息。