2012-03-20 6 views
0

私はここで助けが必要です。私のDIALOG_DOWNLOAD_PROGRESSは常にonPreExecute()(Second Download Attempt)で100%を示します。 2回目のダウンロードから0%を開始する方法ここで助けが必要です。おかげDIALOG DOWNLOAD PROGRESSは2回目のダウンロード試行で常に100%を表示します

@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); 
} 

答えて

0

onCreateDialogがダイアログを作成するために、一度だけ呼ばれているので、ダイアログをリセットする必要がありますonPrepareDialogにあり、ダイアログが表示される前に毎回呼び出されます。

@Override 
protected void onPrepareDialog(int id, Dialog dialog, Bundle args) 
    if (id == DIALOG_DOWNLOAD_PROGRESS) 
     mProgressDialog.setProgress(0); 
} 
+0

おかげで、それはここで –

0
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

を働いていた私はDIALOGUEダウンロードの進行状況のために働いているコードがあるが、何のダイアログが表示されない、問題は、私は誰が何を伝えるために私を助けることができるあなたを祈るが何であるかを知りません問題は対話が表示されない理由です。 – Lars

関連する問題