我在viewpager中有一些片段,我发现片段的onActivityCreated
和onCreateView
都在页面上被调用。
例如,当viewpager从第2页过渡到第3页时,将调用第4页onCreateView
和onActivityCreated
处的片段。
我打算在onActivityCreated
中启动一个网络请求,但它启动一个屏幕太快了。根据Android docs,onActivityCreated
被称为“当片段的活动被创建并且这个片段的视图层次被实例化时”,这使我相信我正确地使用了这个方法。
最佳答案
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) {}
});
关于android - 什么时候应该调用Fragment的onActivityCreated?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38428662/