我有一个由FragmentPagerAdapter
驱动的活动,当用户左右滑动时,会添加片段。
添加的子片段目前是静态的,包含ListView
个项目。我打算使用AysncTask
获取ListView
的项目,但此过程可能需要10-15秒。
我仍然迷失了一些东西:
应该从哪个方法调用AsyncTask
?它是onCreate
的{{1}}方法吗?我只想在片段聚焦时调用Fragment
。
然而,最大的问题是,当用户在AsyncTask
加载时滑离屏幕时,AysncTask
会发生什么。活动被破坏了吗?有没有办法阻止活动被破坏?如果我不这样做,AsyncTask
取得的所有进展都将丢失,当AsyncTask
成为焦点时,我必须重新调用AsyncTask
。
感谢。
缓慢的原因:
我正在抓一个大约有150条记录的页面,而且jSoup真的很慢。不使用服务的问题是数据有很大的变化概率,我不想“预先刮掉”数据。
@Fildor建议使用Fragment
进行繁重的工作。快速查看Loader
实施表明,您可以在短时间内保留数据,例如方向更改。我仍然想知道Loader
在ViewPager
之间的摆动是否允许数据暂时存在于Fragments
中。
答案 0 :(得分:2)
你听说过Loaders吗?我认为这正是你想要使用的......
答案 1 :(得分:0)
使用FragmentStatePagerAdapter 你可以简单地从片段的onCreateView启动asyncTask