应该何时调用Fragment的onActivityCreated?

时间:2016-07-18 04:36:55

标签: android android-fragments

我在ViewPager中有一些片段,我发现Fragment的onActivityCreatedonCreateView都在我预期之前在页面上被调用。

例如,当ViewPager从第2页过渡到3时,第4页的onCreateViewonActivityCreated中的片段正在被调用。

我打算在onActivityCreated中发起网络请求,但它很快就会启动一个屏幕。根据{{​​3}},onActivityCreated被称为"当片段的活动被创建并且该片段的视图层次被实例化时。"这让我相信我正确使用了这个方法。

3 个答案:

答案 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提供了有关生命周期方法的更多详细信息。