在另一个线程完成之前,UI线程上未显示进度对话框

时间:2011-08-31 18:26:27

标签: android multithreading progressdialog

有人可以告诉我为什么在线程完成之前,以下代码中的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();

提前致谢:)

1 个答案:

答案 0 :(得分:1)

调用start()方法:

searchThread.start();

run()方法不在新线程中执行Runnable。

如果要返回UI线程,请使用runOnUiThread()