我在viewpager中有一些片段,我发现片段的onActivityCreatedonCreateView都在页面上被调用。
例如,当viewpager从第2页过渡到第3页时,将调用第4页onCreateViewonActivityCreated处的片段。
我打算在onActivityCreated中启动一个网络请求,但它启动一个屏幕太快了。根据Android docsonActivityCreated被称为“当片段的活动被创建并且这个片段的视图层次被实例化时”,这使我相信我正确地使用了这个方法。

最佳答案

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/

10-08 21:18