android进度对话框 - > publishProgress方法

时间:2014-05-30 18:55:52

标签: java android progressdialog

我正在尝试在进度对话框中显示3条不同的消息。

onPreExecute中,我创建对话框并设置第一条消息。

doInBackground中,我用另外两个必须显示的句子/消息来呼叫publishProgres("sentence 2", "sentence 3")

如果在onProgressUpdate我使用myDialog.setMessage(values[0]);,它会显示我发送的第一句话,如果我使用myDialog.setMessage(values[1]);,则会显示我发送的第二条消息。

但我的问题是,我该怎样做才能让对话框显示第一个发送的句子,并在一段时间后显示第二条消息?

最重要的是,我正在连接到一个URL,做一些其他的事情并在最后更新列表的数据,并且必须显示一个对话框,在进程发生时显示三条不同的消息。 ..

1 个答案:

答案 0 :(得分:1)

调用

publishProgress以在后台计算仍在运行时在UI线程上发布更新。您可以在特定时间间隔内调用它来发布更新,以便向用户通知正在运行的任务。典型案例如下:

 protected Void doInBackground(String.. params ) {
     publishProgress("sentence 1");
     //do some time consuming task 
     //..
     publishProgress("sentence 2");
     //do some more time consuming task 
     //..
     publishProgress("sentence 3");
     //do some more time consuming task 
     //..
 }

 protected void onProgressUpdate(String... progress) {
     myDialog.setMessage(progress[0]);
 }

如果您有循环,则可以在每次或特定次数的迭代期间调用publishProgress