2017-08-01 4 views
-1

私にはAsyncTaskが1つあり、の方法でProgressDialogというメッセージを設定しています。今度はStartUpload()メソッドから呼び出されるメソッド内のProgressDialogのメッセージをdoInbackgroundに更新したいと思います。Upadate progressdialogメッセージ

class performBackgroundtask extends AsyncTask<Void, Void, Void> { 
     // @Override 
     public void onPreExecute() 
     { 


      connectionProgressDialog = new ProgressDialog(ProcessReportsUploadActivity.this); 
      connectionProgressDialog.setCancelable(false); 
      connectionProgressDialog.setCanceledOnTouchOutside(false); 
      connectionProgressDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER); 
      connectionProgressDialog.setMessage("Uploading data..."); 

      connectionProgressDialog.show(); 

     } 

     // @Override 
     public Void doInBackground(Void... params) 
     { 
      try 
      { 

       StartUpload(); 
      } 
      catch (Exception e) 
      { 
       e.printStackTrace(); 

      } 

      return null; 
     } 

     // @Override 
     public void onPostExecute(Void result) 
     { 
      connectionProgressDialog.dismiss(); 
      connectionProgressDialog.cancel(); 

     } 

} 

答えて

0

あなたは、実行のタイミングが定義されていませんpublishProgress(Progress...).を呼び出した後、UIスレッドで呼び出さonProgressUpdate を使用することができます。このメソッドは、バックグラウンド計算がまだ実行されている間に、ユーザーインターフェイスに進捗状況を表示するために使用されます。たとえば、プログレスバーをアニメートしたり、テキストフィールドにログを表示したりすることができます。

@Override 
    protected void onProgressUpdate(Integer... progress) { 
    // setProgressPercent(progress[0]); 
     //set prograss to your prograss dialoglike this 
     connectionProgressDialog.SetProgress(progress); 
} 
0

使用DoInBackground

publishProgress(""+(int)((total*100)/lenghtOfFile)); 

の進捗を公開し、onProgressUpdate

/** 
* Updating progress bar 
* */ 
protected void onProgressUpdate(String... progress) { 
    // setting progress percentage 
    pDialog.setProgress(Integer.parseInt(progress[0])); 
} 
+0

でprogessバーを更新する私がしようとしたが、publishProgress()が一度だけ呼ばれます。私は、StartUpload()メソッドで宣言されているメソッドでメッセージを定期的に更新したい。 – ykumbhar

+0

publishProgress( "" +(int)((total * 100)/ lenghtOfFile));を使用します。 whileループの中で –

+0

publishProgress( "" +(int)((total * 100)/ lenghtOfFile))を呼び出す方法; StartUpload()メソッドで? – ykumbhar

関連する問題