Я пытаюсь использовать AsyncTask
для загрузки файла определенной длины. Мой AsyncTask
выглядит примерно так:
protected void onPreExecute() {
dialog = ProgressDialog.show(MyActivity.this, null, "Loading", false);
}
protected void onProgressUpdate(Integer... values) {
if (values.length == 2) {
dialog.setProgress(values[0]);
dialog.setMax(values[1]);
}
}
в моей реализации doInBackground()
я вызываю publishProgress(bytesSoFar, maxBytes);
внутри цикла загрузки, а в onPostExecute()
я звоню dialog.dismiss()
.
Однако я не могу заставить ProgressDialog
показывать что-либо, кроме неопределенного счетчика. Я хочу видеть горизонтальный индикатор выполнения, который показывает прогресс по мере загрузки. Я отладил и вижу, что onProgressUpdate()
вызывается с нормальными значениями, и что методы диалога вызываются.