Difficulty in changing the message of progress dialog in async task
我创建了一个异步任务,并希望在 doBackground 的不同阶段更改进度对话框的消息。这是代码:
1
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
public class sc extends AsyncTask<Integer,String,Void> { ProgressDialog dialog; protected void onPreExecute() { dialog=new ProgressDialog(Loc.this); dialog.show(); } @Override protected Void doInBackground(Integer… params) { onProgressUpdate("Contacting server..Please wait.."); } |
但问题是,进度对话框总是只显示第一条消息。请帮助我找到解决方案。
1
2 3 4 5 |
protected Void doInBackground(Integer… params)
{ onProgessUpdate("Contacting server..Please wait.."); … } |
Urrrm,不,那行不通。
试试……
1
|
publishProgress("Contacting server..Please wait..");
|
您必须在
也不要在
我认为应该是..
1
|
publishProgress("Your Dialog message..");
|
不是
1
|
onProgessUpdate("Processing the result");
|
在doInBack..()中
类似,
1
2 3 4 5 6 7 8 9 |
protected Long doInBackground(URL… urls) {
publishProgress("Hello"); return null; } protected void onProgressUpdate(String msg) { } |
问题也可能是您没有设置”初始消息”。如果您在尝试在
1
2 3 4 5 6 7 |
ProgressDialog progressDialog = new ProgressDialog(this); progressDialog.setTitle("Title"); progressDialog.setMessage("Initial message needed"); public class foo extends AsyncTask<Void,Integer,Void> { |
还请注意,如果您需要进度更新和消息,则可以使用整数变量参数,其中一个整数定义进度量,另一个定义消息作为
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/269028.html