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();
其余片段将在重新创建时检查是否有可用的新数据