首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从另一个类/服务调用AsyncTask方法(回调?)

从另一个类/服务调用AsyncTask方法(回调?)
EN

Stack Overflow用户
提问于 2010-06-01 15:30:20
回答 2查看 2.5K关注 0票数 2

我想知道是否可以从另一个类和/或服务调用在AsynTask类中定义的特定方法?在我的特定情况下,我有一个播放一些声音的服务,但声音是从可用声音列表中选择的……

当选择一个声音时,它是从我的家庭服务器下载的,这需要一些时间(不是很多,比方说大约3-4秒,声音/效果不大)…所以我现在的问题是,我有一个播放这些声音的服务,当我选择一个声音时,我想要显示一个进度对话框……方法(如果我理解正确的话)是使用AsyncTask,但AsyncTask唯一要做的就是告诉我的服务从我的服务器上播放一个特定的声音……所以没有从服务到Asynctask的“回调”...

我怎样才能做到这一点呢?我如何调用运行中的AsyncTask,它位于另一个类中,并告诉他所有的工作已经完成,因此他可以停止显示ProgressDialog?或者是我过度设计了它,还有其他的方法?先谢谢你...

EN

回答 2

Stack Overflow用户

发布于 2010-06-01 16:35:03

我每次下载都会使用一个asyncTask。下载工作在doInBackground方法中完成。您可以重写onPostExecute方法来完成下载声音后应该完成的所有工作。在您的情况下,我认为这将隐藏进度对话框,并告诉播放服务,新的音乐是可用的。

有关AsyncTask的更多信息,请查看android documentation

票数 0
EN

Stack Overflow用户

发布于 2010-06-01 18:53:04

实际上,我认为你想要的恰恰相反。AsyncTask应该用于执行长时间运行的流程,而不是显示进度对话框。实际上,您不应该使用任务的后台进程来访问UI的任何部分。因此,您要做的是显示一个对话框,启动您的任务,然后让任务在其onPostExecute方法中关闭对话框,该方法可以操作UI组件。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2947944

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档