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

发布于 2024-12-02 11:40:46 字数 511 浏览 2 评论 0原文

有人可以告诉我为什么下面代码中的 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();

提前致谢 :)

could someone tell me why the ProgressDialog in the following code isnt displayed on the UI until after the thread completes?

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();

Thanks in advance :)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

×眷恋的温暖 2024-12-09 11:40:46

调用 start() 方法:

searchThread.start();

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

如果你想返回UI线程使用 runOnUiThread ()

call start() method :

searchThread.start();

run() method don't execute Runnable in new Thread.

if you want return to UI thread use runOnUiThread().

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文