[英]Asynctask in Fragment or Parent Activity?
我有一个场景,我不知道要走哪条路。
脚本
该应用程序有一个Home活动,显示各种片段。 片段中的数据可以来自Web或本地数据库,并使用asynctask进行检索。
从我看到的,我有两个选择:
将Asynctask放入父活动中,然后使用fragment.newInstance(parameters)
将结果传递给片段。 但是,如果在我的asynctask中我需要更新片段的进度或一些信息,每次我都必须使用新的参数集调用newInstance。
添加片段并将asynctask放入其中,这样当需要进度时,我可以更新片段的视图,因为我可以访问它们+当asynctask完成时,我可以用信息填充列表。
什么是正确的方法?
LE:实际上对于第1点来更新片段我在父活动中使用findFragmentById
找到它后可以调用片段的公共方法
如果您有多个任务,更好的方法是使用IntentService: http : //mobile.tutsplus.com/tutorials/android/android-fundamentals-intentservice-basics/
您可以更好地控制要求的内容以及要取消的内容。
我会采用第二种方法。
我的主要原因是避免在AsyncTask工作时屏幕方向改变可能发生的问题。
我会采用方法2,但更进一步。
有一个单独的片段来运行您的异步任务。 这样,您可以处理任何配置更改(不仅仅是旋转屏幕)而不会出现任何问题。
在另一个片段中,您可以显示数据。 您可以通过回调将数据从异步任务片段传递到活动,并让活动调用显示片段中的方法来更新数据。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.