roy*_*hew 5 android android-asynctask
我创建了一个异步任务,并希望在doBackground的不同阶段更改进度对话框的消息.这是代码:
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..");
//Do some work
onProgressUpdate("Processing the result");
//Do some work
onProgressUpdate("Calculating..");
dialog.dismiss();
return null;
}
protected void onProgressUpdate(String ui)
{
dialog.setMessage(ui);
}
}
Run Code Online (Sandbox Code Playgroud)
但问题是,进度对话框只显示第一条消息.请帮我找到解决方案.
protected Void doInBackground(Integer... params)
{
onProgessUpdate("Contacting server..Please wait..");
...
}
Run Code Online (Sandbox Code Playgroud)
Urrrm,不,这是行不通的.
尝试...
publishProgress("Contacting server..Please wait..");
Run Code Online (Sandbox Code Playgroud)
你必须" 发表在"你的进步doInBackground(..),以便onProgressUpdate(...)调用.
也不要叫dialog.dismiss()在doInBackground(...)调用它onPostExecute(...)来代替.
| 归档时间: |
|
| 查看次数: |
6737 次 |
| 最近记录: |