Изменение сообщения для ProgressDialog Android - PullRequest
0 голосов
/ 30 января 2012

У меня есть ProgressDialog, где показывается при отправке почты.Диалог прогресса работает для разных видов деятельности и классов, так как один из блогов дал подсказку, показывающую ProgressDialog для всех видов деятельности.

Ниже приведен код, который я переопределяю onCreateDialog()

@Override
protected Dialog onCreateDialog(int id) {

    if(id == ID_SENDING_MAIL){
    ProgressDialog loadingDialog = new ProgressDialog(this);
        loadingDialog.setMessage("Sending Email...");
    loadingDialog.setIndeterminate(true);
    loadingDialog.setCancelable(true);
    return loadingDialog;
}

return super.onCreateDialog(id);
}

затем я вызываю отправку почты, как показано ниже

showDialog(ID_SENDING_MAIL);
new Thread(new Runnable(){
    public void run(){//I am calling Mail Send here 

        dismissDialog(Email.ID_SENDING_MAIL);
    }
}).start();

В методе run я создаю экземпляр класса mail и отправляю хост параметров.Это работает полностью, но я хочу установить разные сообщения для ProgressDialog.Как во время подключения к Host

 Sending Mail then
 Mail Sent Successfully

Как мы могли бы выполнить эти изменения при использовании с onCreateDialog().Ждем Вашего ответа.спасибо.

Ответы [ 2 ]

1 голос
/ 30 января 2012

лучший способ сделать это с помощью AsyncTask:

и в onProgressUpdate(Integer... progress) используйте параметр прогресса, чтобы установить для желаемых сообщений значение ProgressDialog (используя любой другой метод, чтобы определить, какое именно сообщение должно быть)

1 голос
/ 30 января 2012

Если вы хотите отображать разные сообщения на разных этапах в сетевом потоке, тогда используйте AysncTask, и после каждого шага в методе doInBackground() вызывайте метод publishProgress. в onProgressUpdate(Integer... progress) сообщение об изменении метода в диалоговом окне выполнения.

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