ProgressDialog Проблема? - PullRequest
       2

ProgressDialog Проблема?

0 голосов
/ 01 июля 2011

В моем приложении есть ProgressDialog.Он работает, но после окончания процесса не закрывается.Где ошибка, я делаю.Спасибо.

 button.setOnClickListener(new View.OnClickListener() 
    {     
        public void onClick(View v) {            

                progressdialog.show();

                 new Thread(new Runnable() {
                        public void run() {
                            try {                           

                                 // doing something...  

                                progressdialog.dismiss();

                            } catch (Exception e) {
                                e.printStackTrace();
                            }

                        }
                    }).start();         
            }                  
    });

Ответы [ 5 ]

1 голос
/ 01 июля 2011

сделать это ......

button.setOnClickListener(new View.OnClickListener() 
    {     
        public void onClick(View v) {            

                progressdialog.show();

                 new Thread(new Runnable() {
                        public void run() {
                            try {                           

                                 // doing something...  

                               hm.sendEmptyMessage(0);

                            } catch (Exception e) {
                                e.printStackTrace();
                            }

                        }
                    }).start();         
            }                  
    });


    Handler hm = new Handler()
    {
       public void handleMessage(Message msg)
       {

         progressdialog.dismiss();
        }


    }

Спасибо.

0 голосов
/ 01 июля 2011

Правильный способ выполнения любой работы в фоновом режиме при отображении диалогового окна прогресса - использование AsyncTask с ограниченным ProgressDialog. Смотрите здесь . Помните, что вы не можете изменять пользовательский интерфейс из потока, который не является потоком пользовательского интерфейса.

0 голосов
/ 01 июля 2011

Звоните progressdialog.dismiss(); из основного потока;

0 голосов
/ 01 июля 2011

Диалог процесса также можно закрыть, вызвав следующий метод.

progressdialog.cancel();
0 голосов
/ 01 июля 2011

progressdialog.setVisible (ложь);

если цена экземпляра JDialog

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