Android   发布时间:2022-04-28  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了android – 等待使用ProgressDialog执行AsyncTask大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个方法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所遇到的程序开发问题。

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

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。