所以我创建了一个处理ProgressDialog和本机方法的AsyncTask.它在自己的Activity中运行很好来测试它,在Activity中我使用了一个回调接口等等.
在我的情况下,我有上述方法,并且必须执行AsyncTask.执行不能在该方法中,因为它不会停止进一步执行.
在继续执行之前,我需要本机方法的结果.
是否有可能等待AsyncTask直到它完成?方法wait()不是一个选项,因为UI线程也会等待,因此ProgressDialog的意义将会丢失.
我可以使用给定参数中的方法runOnUiThread(),还是启动自己的Activity的唯一解决方案?
解决方法 所以我会尽力解释在AsyncTask中启动繁重的进程,但是在完成AsyncTask之后要执行的任何代码都将它放在一个单独的公共方法中.现在,一旦你完成了在onPostExecute()中单独创建的方法的重过程调用.
所以psuuedo代码看起来像这样,
class main extends Activity { class Something extends AsyncTask<String,Integer,String> { protected voID onPreExecute() { // Start your progress bar... } protected String doInBackground(String... params) { // Do your heavy stuff... return null; } protected voID onPostExecute(String result) { // close your progress dialog and than call method which has // code you are wishing to execute after AsyncTask. } }}
希望这会有所帮助,
祝好运!
总结以上是内存溢出为你收集整理的android – 等待使用ProgressDialog执行AsyncTask全部内容,希望文章能够帮你解决android – 等待使用ProgressDialog执行AsyncTask所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)