2011-12-14 10 views
0

私は約231の写真をダウンロードしています。画像をダウンロードするとダイアログが表示され、すべての画像が利用可能になるまで待ってから消えてしまいます。これをどうやってやりますか?画像をダウンロードするための進捗ダイアログ

protected class DownloadFile extends AsyncTask<String, Integer, String>{ 
    @Override 
    protected String doInBackground(String... url) 
    { 
     int count; 
     try 
     { 
      URL url1 = new URL(url[0]); 
      URLConnection conexion = url1.openConnection(); 
      conexion.connect(); 
      // this will be useful so that you can show a tipical 0-100% progress bar 
      int lenghtOfFile = conexion.getContentLength(); 

      // download the file 
      InputStream input = new BufferedInputStream(url1.openStream()); 
      byte data[] = new byte[1024]; 

      long total = 0; 
      while ((count = input.read(data)) != -1) 
      { 
       total += count; 
       // publishing the progress.... 
       publishProgress((int)(total*100/lenghtOfFile)); 
      } 
      input.close(); 
     } 
     catch (Exception e) 
     { 
     } 
     return null; 
    } 
    public void onProgressUpdate(Integer... values) 
    { 
     super.onProgressUpdate(values); 
     // here you will have to update the progressbar 
     // with something like 
     setProgress(numPokemon); 
    } 
} 
+0

あなたが – ingsaurabh

+0

に直面している問題に具体的にしてください取得希望は、私が進捗ダイアログを持っているが表示されますが、それは1枚の写真をダウンロードしている間だけ表示されたままそれを無効にする – Vokara1228

+0

その後、あなたが間違った方法で私たちのコードを表示してください – ingsaurabh

答えて

0

私はu)は(間違ったこと、onpreExecuteで ショーの進行状況ダイアログをいけない()、doinBackgroundでウルロジック()とonPostExecuteの進捗ダイアログを閉じなければならないと思います。

uはそれが

0

これを試してみてください::

class AddTask extends AsyncTask<Void, Void, Void> { 
     ProgressDialog pDialog = ProgressDialog.show(Recording.this,"Please wait...", "Retrieving data ...", true); 
     protected void onPreExecute() { 

      pDialog.setIndeterminate(true); 
      pDialog.setCancelable(false); 
      pDialog.show(); 
      SaxParser(Username,Password); 

     } 

     protected Void doInBackground(Void... unused) { 
      // your code 
      return(null); 
     } 
     protected void onPostExecute(Void unused) { 
      pDialog.dismiss(); 
     } 
     }