Note that there are some explanatory texts on larger screens.

plurals
  1. POI want a progressbar but get a spinner progressdialog
    primarykey
    data
    text
    <p>I am using a public AsynTask to download data, and I am trying to show a progress bar which would show the download progress. I think I have the code right, but all I get is a spinner progressdialog. Am I missing something? Why isn't the progress bar showing up? Here is the code. Thanks for any pointers.</p> <pre><code>public class FileDownloader extends AsyncTask&lt;String, Integer, Void&gt; { private Context _appContext; private HttpURLConnection _urlConn; private ProgressDialog _progressDia = null; private DialogInterface.OnCancelListener _progDiaCancelListener = new DialogInterface.OnCancelListener() { /** * When the progress dialog is canceled, stop the GET request. */ public void onCancel(DialogInterface dialog) { FileDownloader.this.cancel(true); } }; /** * Constructor. * @param appContext */ public FileDownloader(Context appContext) { _appContext = appContext; _progressDia = new ProgressDialog(_appContext, ProgressDialog.STYLE_HORIZONTAL); _progressDia.setMax(100); _progressDia.setTitle(_appContext.getString(R.string.diaHeader1)); _progressDia.setMessage(_appContext.getString(R.string.diaBody1)); _progressDia.setCancelable(true); _progressDia.setIndeterminate(false); _progressDia.setOnCancelListener(_progDiaCancelListener); } // Runs on the UI thread @Override protected void onPreExecute() { _progressDia.setProgress(0); _progressDia.show(); } @Override protected Void doInBackground(String... args) { String dloadURL = args[0], saveLoc = args[1]; ... ... while((len = input.read(buf)) &gt; 0) { output.write(buf, 0, len); total += len; publishProgress((int)total * 100/lenghtOfFile); } ... ... } catch(SocketTimeoutException ex) { } finally { ... } // This is executed on main UI thread. @Override protected void onProgressUpdate(Integer... values) { _progressDia.setProgress(values[0]); } @Override protected void onCancelled() { ... } // This is executed on main UI thread. @Override protected void onPostExecute(Void result) { removeProgressDialog(); ... } /** * Remove the message dialog, if still showing. */ private void removeProgressDialog() { if(_progressDia != null &amp;&amp; _progressDia.isShowing()) _progressDia.dismiss(); } } </code></pre>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload