我不太了解这个片段生命周期业务。
我的应用程序的“查看详细信息”部分有一个非常标准的 3 页水平滑块视图寻呼机布局。我在三个页面的中间页面上启动我的应用程序。我的 FragmentActivity 将页面设置为第 1 页。
mPager.setCurrentItem(1); //default to center page, current data view fragment
我一直在使用 FragmentStatePagerAdapter,因为使用 FragmentPagerAdapter 有时会导致我的应用程序崩溃,例如从暂停状态返回时,这是目前解决此问题的最快方法。似乎有效,但我怀疑状态方面可能是我的问题的原因,也许。
所以一开始我以为我会让每个片段完成从休息服务获取数据的工作,然后将其显示在列表中,但我不再那么确定了。
我尝试运行一个独特的异步任务来获取每个片段 onCreateView 事件中的数据。然后在阅读了有关片段生命周期的更多信息后,我切换到 onCreate,注意到 onCreateView 被大量调用,这反过来又导致了一个经常通过网络请求数据的贪婪应用程序。
切换到 onCreate 并没有改变任何东西。对于 2 个相邻片段,OnCreate 仍然像 onCreateView 一样被调用。
奇怪的是,我设置为在 Fragment Activity 中显示的第一个片段只获得了一次调用 onCreate。
感觉这里有些不对劲。
现在我在想我应该声明父片段活动并调用所有异步任务来获取我需要在片段中显示的数据。在父片段活动拥有的对象中设置异步调用的结果,然后让片段使用父片段包含的对象来创建列表视图等。
但是,如果父 Activity 启动的异步任务在调用每个片段 onCreateView 之前没有完成,并且父 Activity 包含的对象还没有准备好怎么办......
签名,困惑和沮丧