【发布时间】:2011-08-31 18:26:27
【问题描述】:
谁能告诉我为什么以下代码中的 ProgressDialog 直到线程完成后才显示在 UI 上?
Common.prog = ProgressDialog.show(cContext, "Please wait", "Checking Voucher...", true);
final Handler handler = new Handler() {
public void handleMessage(Message msg) {
Common.prog.dismiss();
}
};
Thread searchThread = new Thread() {
public void run() {
processCoupon(voucherCodeEditText.getText().toString());
handler.sendEmptyMessage(0);
};
};
searchThread.run();
提前致谢:)
【问题讨论】:
-
尝试将其设置为
AsyncTask,而不是您拥有的线程。据我所知,这似乎是在 android 线程中做某事的“正确”方式。在onPreExecute()打开进度对话框,在doInBackground()查看凭证,在onPostExecute()关闭对话框
标签: android multithreading progressdialog