DIALOG DOWNLOAD PROGRESS всегда показывает 100% при второй попытке загрузки - PullRequest
0 голосов
/ 20 марта 2012

Мне нужна помощь, мой DIALOG_DOWNLOAD_PROGRESS всегда показывает 100% на onPreExecute () (Вторая попытка загрузки).Как заставить его начинать с 0% со второй попытки скачивания.Нужна помощь здесь.Спасибо

@Override
protected Dialog onCreateDialog(int id) {
    switch (id) {
    case DIALOG_DOWNLOAD_PROGRESS:
        mProgressDialog = new ProgressDialog(this);
        mProgressDialog.setMessage("Downloading file..");
        mProgressDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
        mProgressDialog.setCancelable(true);
        mProgressDialog.show();
        return mProgressDialog;
    default:

        return null;
    }
}

класс DownloadFileAsync расширяет AsyncTask {

@Override
protected void onPreExecute() {
    super.onPreExecute();
    showDialog(DIALOG_DOWNLOAD_PROGRESS);
}

....

}
protected void onProgressUpdate(String... progress) {
     Log.d("ANDRO_ASYNC",progress[0]);
     mProgressDialog.setProgress(Integer.parseInt(progress[0]));

}

@Override
protected void onPostExecute(String unused) {
    dismissDialog(DIALOG_DOWNLOAD_PROGRESS);
}

Ответы [ 2 ]

0 голосов
/ 21 июня 2013
protected Dialog onCreateDialog(int id){

        switch(id){

            case 0:

                _progressDialog = new ProgressDialog(null);


                _progressDialog.setTitle("Downloading files..");

                _progressDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);

                _progressDialog.setButton(DialogInterface.BUTTON_POSITIVE, "Hide", new DialogInterface.OnClickListener() {



                @Override

                public void onClick(DialogInterface dialog, int which) {

                        Log.d(TAG, "hide");

                    }

                });

                _progressDialog.setButton(DialogInterface.BUTTON_NEGATIVE, "Cancel", new DialogInterface.OnClickListener() {

                        @Override

                    public void onClick(DialogInterface dialog, int which) {

                        Log.d(TAG, "cancel");

                        cancelLoad();

                    }

                        private void cancelLoad() {
                            // TODO Auto-generated method stub

                        }

                });

        }

        return _progressDialog;

    }
0 голосов
/ 20 марта 2012

, поскольку onCreateDialog вызывается только один раз, чтобы создать диалоговое окно, вам нужно будет сбросить диалоговое окно в onPrepareDialog, которое вызывается каждый раз перед отображением диалогового окна.

@Override
protected void onPrepareDialog(int id, Dialog dialog, Bundle args) 
    if (id == DIALOG_DOWNLOAD_PROGRESS)
        mProgressDialog.setProgress(0);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...