Прогрессбар не обновляется в теме android - PullRequest
1 голос
/ 31 декабря 2011

когда я загружаю файл, я хочу синхронизировать прогрессбар с этим но нет, мой код:

Thread thread = new Thread() {
            public void run() {
                try {
                    while ( (bufferLength = inputStream.read(buffer)) > 0 ) {
                        //add the data in the buffer to the file in the file output stream (the file on the sd card
                        fileOutput.write(buffer, 0, bufferLength);
                        //add up the size so we know how much is downloaded
                        downloadedSize += bufferLength;
                        pbar.setProgress((downloadedSize/totalSize)*100);
                        pbar.refreshDrawableState();

                        Log.d("CURRENT:", "" + (downloadedSize/totalSize)*100);
                    }
                } catch (Exception ex) {

                }
            }
        };
        thread.start();

Также мой файл журнала не обновляется. Любая помощь, пожалуйста ....

Ответы [ 2 ]

1 голос
/ 31 декабря 2011

Нет необходимости в AsyncTask, в вашей теме используйте MyActivity.this.runOnUiThread(). Сделал бы ту же работу, что и AsyncTask, но это сократило бы ваше время на перекодирование всего материала. :) Ура

1 голос
/ 31 декабря 2011

Вы не можете обновить пользовательский интерфейс из фонового потока, используйте AsyncTask, потому что Androiders называют его безболезненным потоком

Вот хороший учебник для использования ProgressBar используя AsyncTask

...