如何在Android中显示progressDialog?

时间:2012-02-02 10:32:00

标签: android progressdialog dismiss

我想在我的活动中显示progressDialog,当我调用webservices并调用webservices结束时Dialog自动解除可以知道如何做到这一点,我想要一些样本。 提前谢谢。

这是我的代码,但它没有正常工作

final ProgressDialog dialog = ProgressDialog.show(
                RouteServicing.this, "", "Loading. Please wait...", true);

        final Handler handler = new Handler() {
            public void handleMessage(Message msg) {
                dialog.dismiss();
            }
        };

        Thread checkUpdate = new Thread() {
            public void run() {

                Status = cn.callWebService(url);
                getDetail(Status);
                //handler.sendEmptyMessage(0);
                dialog.dismiss();
            }
        };
        checkUpdate.start();

它显示了我的错误

    02-02 16:06:53.219: E/WindowManager(1127): android.view.WindowLeaked: Activity com.palewar.coinop.RouteServicing has leaked window com.android.internal.policy.impl.PhoneWindow$DecorView@405db660 that was originally added here
02-02 16:06:53.219: E/WindowManager(1127):  at android.view.ViewRoot.<init>(ViewRoot.java:272)
02-02 16:06:53.219: E/WindowManager(1127):  at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:148)
02-02 16:06:53.219: E/WindowManager(1127):  at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:91)
02-02 16:06:53.219: E/WindowManager(1127):  at android.view.Window$LocalWindowManager.addView(Window.java:424)
02-02 16:06:53.219: E/WindowManager(1127):  at android.app.Dialog.show(Dialog.java:241)
02-02 16:06:53.219: E/WindowManager(1127):  at android.app.ProgressDialog.show(ProgressDialog.java:107)
02-02 16:06:53.219: E/WindowManager(1127):  at android.app.ProgressDialog.show(ProgressDialog.java:90)
02-02 16:06:53.219: E/WindowManager(1127):  at com.palewar.coinop.RouteServicing.onClick(RouteServicing.java:243)

3 个答案:

答案 0 :(得分:2)

最好尝试使用AsyncTask

答案 1 :(得分:1)

将方法更改为:

Thread checkUpdate = new Thread() {
            public void run() {

                Status = cn.callWebService(url);
                getDetail(Status);
                handler.sendEmptyMessage(0);
            }
        };

答案 2 :(得分:0)

你没有正确编码。 在我的回答中,请检查一下如何正确地进行here