Android 异步任务 - 哪个活动引发了它?
我面临着一个异步任务的问题,但我需要它使用两次,因为每次我更改 GUI 的不同部分(更新进度条)。
有什么方法可以在 if - else 子句中确定它调用哪个活动,然后为它们中的每个活动创建适当的函数?
编辑:呵呵,答案就在这里,但现在没有......
谢谢
I am facing problem of having one async task, but I need it use twice, because each time I change different part of GUI (updating progress bar).
Is there any way how to determine in if - else clause, which activity does it call and then make appropriate function for each of both of them?
Edit: huh, answer was here and now there isn't...
Thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您可以保存一个成员变量,其中包含其启动的活动/上下文。
在
doInBackground
内只需检查活动:You can hold a member variable which contains the activity/context it is started from.
Inside
doInBackground
just check the activity:从 AsyncTask 实现中提取代码并将其委托给 Activity。示例:
您的 AsyncTask 接受委托并在适当时调用它:
您的 Activity 实现该委托:
Extract the code from the AsyncTask implementation and delegate that to the Activity. Example:
Your AsyncTask takes a delegate and calls it when appropiate:
Your Activity/ies implement/s the delegate: