у меня есть общий вопрос:Вызов внешнего метода из AsyncTask и обновления ProgressDialog с данными этого метода внешнего
Можно ли обновлять ProgressDialog сообщение с данными, поступающими из метода, который вызывается с помощью AsyncTask
doInBackground(Void... arg0)
Цель: метод генерации и возвращает файл. В зависимости от объема данных это может занять более или менее время. Я хотел бы сообщить пользователю о прогрессе, указав текущий номер страницы генерирующего файла (номер страницы - это значение во внешнем методе).
любые предложения о том, как получить доступ к значению и показать его в ProgressDialog?
Я уже пробовал: объявляя число страниц общественности и статический доступ к нему из
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();
}
}
Спасибо,
свободно, то Thread.sleep дает время, чтобы обновить значение! – user1616685