2015-02-15 5 views
0

Я хочу скачать файл Jason Я поставил индикатор выполнения для загрузки Jason .. Моя проблема в том, что индикатор выполнения не обновляется. Загрузите правильно, но не обновляет индикатор выполнения В чем проблема? Java коды:как обновить progressBar при загрузке json

public class GetJsonTask extends AsyncTask<String, String, String> 
    { 
     @Override 
      protected void onProgressUpdate(String... progress) { 
       // setting progress percentage 

       dialog.setProgress(Integer.parseInt(progress[0])); 
      } 
     protected void onPreExecute() 
     { 
      dialog = new ProgressDialog(MainActivity.this); 
      dialog.setMessage("Downloading " + " from the server. Please wait."); 
      dialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL); 
      dialog.setCancelable(false); 
      dialog.setCanceledOnTouchOutside(false); 
      dialog.show(); 
     } 



     @Override 
     protected String doInBackground(String... urls) { 
      // TODO Auto-generated method stub 
      try { 
        InputStream inputStream = null; 
        DefaultHttpClient defaultHttpClient = new DefaultHttpClient(); 
        HttpPost httpPost = new HttpPost(urls[0]); 
        HttpResponse httpResponse = defaultHttpClient.execute(httpPost); 
        HttpEntity httpEntity = httpResponse.getEntity(); 
        inputStream = httpEntity.getContent(); 
        BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream, "iso-8859-1"), 8); 
        StringBuilder sb = new StringBuilder(); 
        String line = null; 
        while ((line = reader.readLine()) != null) { 
         sb.append(line + "\n"); 
        } 
        byte data[] = new byte[1024]; 

        long total = 0; 

        while ((count = reader.read()) != -1) { 
         total += count; 
         // publishing the progress.... 
         // After this onProgressUpdate will be called 
         publishProgress(""+(int) ((total*100)/10000)); 




        } 
        inputStream.close(); 
        String result = sb.toString(); 

        return result; 
       } catch (Exception ex) { 
         Log.e("aa2", "erroor2"+ex.toString()); 
        return null; 
       } 





     } 
     @Override 
     protected void onPostExecute(String result) { 
      // TODO Auto-generated method stub 
      super.onPostExecute(result); 

      dialog.dismiss(); 
      } 
} 
+0

возможно дубликат [Скачать файл с Android, и показывает прогресс в ProgressDialog] (http://stackoverflow.com/ вопросы/3028306/загрузка-а-файл-с-андроид и-показ-в-ход-в-progressdialog) – Fahim

ответ

0

Как уже упоминалось в this answer, вы должны установить setIndeterminate(false)

Смежные вопросы