Как отобразить progressDialog в Android? - PullRequest
0 голосов
/ 02 февраля 2012

Я хочу отобразить progressDialog в своей деятельности, когда я завершаю вызов веб-сервисов и обращаюсь к веб-сервисам. Диалоговое окно «Отклонить» автоматически может любой знает, как это сделать, и мне нужен образец для этого.Заранее благодарен.

вот мой код, но он не работает нормально

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 ]

2 голосов
/ 02 февраля 2012

Лучше попробуй использовать AsyncTask

1 голос
/ 02 февраля 2012

изменить метод на:

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

                Status = cn.callWebService(url);
                getDetail(Status);
                handler.sendEmptyMessage(0);
            }
        };
0 голосов
/ 02 февраля 2012

у вас нет правильного кода. Просто проверьте, как это сделать правильно здесь в моем ответе.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...