Android 将数据加载到ListFragments中

Android 将数据加载到ListFragments中,android,android-fragments,android-viewpager,android-listfragment,Android,Android Fragments,Android Viewpager,Android Listfragment,我想将数据从网络加载到片段中。在活动中我有一个ViewPager,我正在使用FragmentPagerAdapter为它提供片段。问题是: 如何从活动中检测ViewPager中的所有片段是否已创建并准备好显示数据。我如何通知片段,活动中有一个应该显示的数据 如何从活动中检测ViewPager中的所有片段 已创建并准备好显示数据 这听起来有点奇怪。活动不需要知道所有的查看页面片段何时被初始化(因为用户实际上只会看到一个片段(如果不弄乱setOffScreenPageLimit(),则每侧都有一个片

我想将数据从网络加载到片段中。在
活动中
我有一个
ViewPager
,我正在使用
FragmentPagerAdapter
为它提供片段。问题是:

如何从活动中检测ViewPager中的所有片段是否已创建并准备好显示数据。我如何通知片段,活动中有一个应该显示的数据

如何从活动中检测ViewPager中的所有片段 已创建并准备好显示数据

这听起来有点奇怪。
活动
不需要知道所有的
查看页面
片段何时被初始化(因为用户实际上只会看到一个片段(如果不弄乱
setOffScreenPageLimit()
,则每侧都有一个片段可用),更新其余片段没有意义)

我怎样才能通知片段,活动中有数据 应该显示什么

您可以将片段本身注册为
活动
数据加载事件的侦听器。
活动
将完成获取数据的工作,然后对所有注册的片段调用update方法(这些片段应存储在
WeakReferences
中,以避免在我们不应该保存它们的时候保存它们)。主要问题是,您可能会尝试更新项目

另一种黑客方法是使用
活动中的类似内容:

// get the current fragment(add/subtract one for the available fragments on each side of the curently visible 
Fragment f = getSupportFragmentManager().findFragmentByTag("android:switcher:" + R.id.ViewPagerId + ":" + mViewPager.getCurrentItem()); one.)
f.update();
其余片段将在重新创建时检查是否有可用的新数据