将AsyncTask放置在Activity或Fragment中?

时间:2014-11-30 19:32:00

标签: android json android-fragments android-asynctask

我正在尝试设计一款Android应用:

  1. 从HTTP链接中获取JSON数据
  2. 遍历数据并形成ArrayList的{​​{1}}。
  3. 现在HomeActivity扩展了ActionBarActivity,它实现了TabListener。

    它有2个标签,每个标签都有一个片段。 Object将从JSON数据中保存listView。 Fragment 1将根据相同的JSON数据显示带有标记的Google地图。

    现在,我只是想知道使用此Fragment 2的最佳方法是什么。

    我应该将它放在Activity中,然后使用接口将ArrayList传递给Fragments吗?

    或者......我应该怎么做?谢谢!关于缓存的一些提示也会有所帮助。

1 个答案:

答案 0 :(得分:0)

是的,如果您的片段都在使用数据,那么将AsyncTask放入活动中似乎是合理的。如果AsyncTask是Activity的非静态内部类,那么在postExecute中,您可以从活动中获取指向片段的指针,然后调用片段上的方法为它们提供新数据(或告诉它们您已存储它在某个地方 - 但是你已经实现了它。)