я хочу, чтобы загрузить несколько файлов (2 на данный момент) в одном прогрессе бара (без сброса прогресса бара)прогресс бара и несколько загрузок
Для того, чтобы сделать это, я получить общую длину всех файлов в для того, чтобы использовать его в методе публиковать прогресс
проблема заключается в том, что мой прогресс бар сбрасывается в 0, когда достиг 50%, то не увеличивать, пока еще 50%
Вот мой код
@Override
protected Void doInBackground(Void... params) {
int totalSizeFile;
totalSizeFile=cm.getLength(url[0]);
totalSizeFile+=cm.getLength(url[1]);
progressBar.setMax(totalSizeFile);
cm.downloadMp3(url[0], "test.mp3", totalTailleFic);
cm.downloadMp3(url[1], "test2.mp3", totalTailleFic);
return null;
}
@Override
protected void onProgressUpdate(Integer... progress) {
textview.setText(String.valueOf(progress[0])+"%");
progressBar.incrementProgressBy(progress[0]);
}
код моей загрузки функции, где я вызываю метод publishprogress
byte[] buffer = new byte[1024];
int bufferLength = 0;
int total=0;
while ((bufferLength = inputStream.read(buffer)) != -1) {
total += bufferLength;
fileOutput.write(buffer, 0, bufferLength);
asynch.publishProgress(bufferLength);
}
Большое спасибо
Здравствуйте. Спасибо за вашу помощь, но если я попробую incrementProgressBy, теперь мой индикатор выполнения заполняется сразу без кусков. – user2177823
Но действительно переменная прогресса OnProgressUpdate сбрасывается до 0 между каждой загрузкой. – user2177823
Используйте 'setMax()' для инициализации 'ProgressBar' с общим количеством байтов (см. Редактирование). –