1

我有一个由 a 提供支持的活动,FragmentPagerAdapter它在用户左右滑动时添加片段。

添加的这个子片段当前是静态的并且包含一个ListView项目。我打算使用并AysncTask获取项目,ListView但此过程可能需要 10-15 秒。

我仍然迷失在一些事情上:

我应该从哪个方法AsyncTask调用?会是onCreate方法Fragment吗?我只希望AsyncTask在 Fragment 处于焦点时调用 。

然而,最大的问题是,当用户在加载AysncTask时从屏幕上滑开时,我会发生什么。AsyncTaskActivity 被销毁了吗?有没有办法可以防止 Activity 被破坏?如果我不这样做,所有的进展AsyncTask都会丢失,我必须重新调用AsyncTask当它Fragment成为焦点时。

谢谢。


慢的原因:

我正在抓取一个包含大约 150 条记录的页面,而 jSoup 真的非常非常慢。不使用服务的问题是数据很可能发生变化,我不想“预先抓取”数据。

@Fildor 建议使用 aLoader来完成繁重的工作。快速浏览一下Loader实现表明,它允许您在短时间内保存数据,例如方向更改。我仍然想知道ViewPager's 的摆动Fragments是否会让数据Loader暂时持续存在。

4

2 回答 2

2

你听说过装载机吗?我认为这正是你想要使用的......

于 2012-09-28T12:34:15.517 回答
0

使用FragmentStatePagerAdapter 您可以简单地从片段的 onCreateView 启动 asyncTask

于 2013-11-18T13:56:59.933 回答