Я пытаюсь использовать 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()
получает вызовы со здравыми значениями и вызывает вызовы методов диалога.