2012-02-04 49 views
0

我有一个ListFragment,当前使用静态数据填充,在编译时修复。我实际上希望列表中的数据可以从网页上抓取。使用远程数据填充ListFragment

我打算使用jsoup做检索和解析等等。但什么是最好的方式来链接jsoup到ListFragment?

我应该使用诸如AsyncTaskLoader之类的Loader吗?我不确定,因为API文档说装载者应该“监视他们的数据源并在内容更改时提供新的结果”,但是检索我的ListFragment的数据将是一次性操作:不需要监测来源。

任何意见将受到感谢。

+0

为什么不使用ArrayAdapter? – kingston 2012-02-04 19:58:04

+0

我正在使用ArrayAdapter作为静态数据,并计划从网络上抓取数据。问题是如何最好地从网上实现检索。 – 2012-02-04 20:06:31

+0

我无法在我的Fragment的'onActivityCreated()'中执行检索,因为它在UI线程上运行。 – 2012-02-04 20:12:32

回答

0

我有同样的问题,解决它,我不得不扩展AsyncTaskLoader和工作正常。 在 公共列表loadInBackground()我正在下载数据,这就是全部。

我建议检查支持V4 samplesandroid /支持/ V4 /样品/ Support4Demos/src目录/ COM /例子/安卓/ supportv4 /应用/ LoaderCustomSupport.java

0

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

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

Use Interface to callback from Task to Fragment