android – 等待使用ProgressDialog执行AsyncTask

android – 等待使用ProgressDialog执行AsyncTask,第1张

概述我有一个方法public void writeEntry(Activity ctx,Entry entry),它获取一些数据并且必须调用本机方法,这需要更长的时间才能完成. 所以我创建了一个处理ProgressDialog和本机方法的AsyncTask.它在自己的Activity中运行很好来测试它,在Activity中我使用了一个回调接口等等. 在我的情况下,我有上述方法,并且必须执行AsyncT 我有一个方法public voID writeEntry(Activity ctx,Entry entry),它获取一些数据并且必须调用本机方法,这需要更长的时间才能完成.
所以我创建了一个处理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所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1129582.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-30
下一篇 2022-05-30

发表评论

登录后才能评论

评论列表(0条)

保存