我有一个普遍的问题:
是否可以使用来自方法的数据更新 ProgressDialog 消息,该方法由 AsyncTask 调用
doInBackground(Void... arg0)
目的:该方法是生成并返回一个文件。根据数据量,这可能会持续或多或少的时间。我想通知用户进度,告诉生成文件的当前页码(页码是外部方法内的值)。
任何建议如何访问该值并在 ProgressDialog 中显示它?
我已经尝试过:声明页面值public 和 static并从
onProgressUpdate(
页面值下方的代码返回其初始值,但是它没有更新任何想法以获得更新的值?:
public class prepareFile extends AsyncTask<String, String, String> {
@Override
protected void onProgressUpdate(String... values) {
// TODO Auto-generated method stub
super.onProgressUpdate(values);
progressDialog.setMessage(getResources().getString(
R.string.CalcGatheringInformation)+"\n"+Filehandler.pages+" - "+values);
}
@Override
protected String doInBackground(String... arg0) {
// TODO Auto-generated method stub
publishProgress(String.valueOf(Filehandler.pages));
prepareFiles();
return null;
}
@Override
protected void onPostExecute(String result) {
// TODO Auto-generated method stub
super.onPostExecute(result);
progressDialog.dismiss();
}
}
谢谢,