1

我有一个包含 ViewPager 的 FragmentActivity,我在其中通过自定义 FragmentPagerAdapter 创建 4 个子片段。片段包含我在其中显示数据的 ListView。响应完成后,我在 FragmentActivity 中调用 Web API;我想通知所有片段数据已准备好并用该数据填充适配器。请注意,在 Fragment 初始化时数据不可用。

我可以在创建片段时保存对片段的引用并调用“myFragment.hereIsYourData(Object data)”,但是在重新创建 Activity 后,当因内存不足而杀死应用程序时,引用会发生变化。(如果我没记错的话+我读到在 Activity 中保留对片段的引用是一件坏事)

只是为了澄清,我不能使用“findFragmentById(id)”,因为 ViewPager 没有公开它。我可以使用这里解释的“getFragmentTag”黑客https://stackoverflow.com/a/9744146/1025364但我不想:D。

然后我试图通过 Activity 的接口从 Fragment onResume 方法中获取数据(如开发人员指南中所述),但此时数据不是 reedy。我是否应该在某种循环中请求数据,直到它准备好?

在这种情况下最好的方法是什么?

4

0 回答 0