【问题标题】:Populating ListFragment with remote data用远程数据填充 ListFragment
【发布时间】:2012-02-04 19:38:13
【问题描述】:

我有一个 ListFragment,目前填充了静态数据,在编译时修复。我实际上希望从网络上截取列表的数据。

我打算使用jsoup 进行检索和解析等。但是将 jsoup 链接到 ListFragment 的最佳方法是什么?

我应该使用像 AsyncTaskLoader 这样的加载器吗?我不确定,因为 API 文档说加载器应该“监视数据源并在内容更改时提供新结果”,但是为我的 ListFragment 检索数据将是一次性操作:不需要监控源。

如有任何建议,我们将不胜感激。

【问题讨论】:

  • 为什么不使用 ArrayAdapter?
  • 我正在使用 ArrayAdapter 来存储静态数据,并且我计划使用从网络上抓取的数据。问题是如何最好地实现网络检索。
  • 我无法在我的 Fragment 的 onActivityCreated() 中进行检索,因为它在 UI 线程上运行。

标签: android jsoup loader fragment asynctaskloader


【解决方案1】:

我遇到了同样的问题,为了解决它,我必须扩展 AsyncTaskLoader 并且工作正常。 在 public List loadInBackground() 我正在下载数据,仅此而已。

我建议检查支持 v4 示例android/support/v4/samples/Support4Demos/src/com/example/android/supportv4/app/LoaderCustomSupport.java

【讨论】:

    【解决方案2】:

    是的,您应该使用 AsyncTaskLoader。使用 doInBackground() 方法进行解析,使用 onPostExecute() 方法从 jsoup 中检索数据。

    由于您使用的是 ListFragment,如果您想将信息从 AsyncTaskLoader 传递到您的 ListFragment,您可能会发现以下帖子很有用。诀窍是使用接口从 AsyncTaskLoader 回调到您的 ListFragment。

    Use Interface to callback from Task to Fragment

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多