方法未完成时进度条对话框

时间:2014-08-02 20:17:15

标签: android

我需要显示简单的进度条对话框,而某些方法没有完成。

我试着把它称为

ProgressDialog progressDialog = ProgressDialog.show(Activity.this, "", "Please wait");
SyncCity()
SyncStreet()
progressDialog.dismiss();

但是当方法没有完成时app被阻止,之后我得到进度对话框,并且在下一秒消失,有时我根本看不到它。

所有通话按钮点击按钮... 捕获的地方在哪里?

谢谢。

2 个答案:

答案 0 :(得分:0)

您应该使用AsyncTask来执行此类过程。您不应该在UI线程中执行任何过程。

以下是如何使用AsyncTask的一个很好的示例: http://www.vogella.com/tutorials/AndroidBackgroundProcessing/article.html

答案 1 :(得分:0)

那是因为您正在阻止UI线程。尝试使用AsyncTask,如下所示:

    ProgressDialog progressDialog;

    new AsyncTask<Void, Void, Void>() {

        @Override
        protected void onPreExecute() {
            progressDialog = ProgressDialog.show(Activity.this, "", "Please wait");
        }

        @Override
        protected  Void doInBackground(Void... params) {
            SyncCity()
            SyncStreet()
            return null;
        }

        @Override
        protected void onPostExecute(Void args) {
            progressDialog.dismiss();
        }
    }.execute();