我需要显示简单的进度条对话框,而某些方法没有完成。
我试着把它称为
ProgressDialog progressDialog = ProgressDialog.show(Activity.this, "", "Please wait");
SyncCity()
SyncStreet()
progressDialog.dismiss();
但是当方法没有完成时app被阻止,之后我得到进度对话框,并且在下一秒消失,有时我根本看不到它。
所有通话按钮点击按钮... 捕获的地方在哪里?
谢谢。
答案 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();