在另一个线程完成之前,进度对话框不会显示在 UI 线程上
有人可以告诉我为什么下面代码中的 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
调用 start() 方法:
run()方法不在新线程中执行 Runnable。
如果你想返回UI线程使用 runOnUiThread ()。
call start() method :
run() method don't execute Runnable in new Thread.
if you want return to UI thread use runOnUiThread().