I'm trying to make a simple ProgressDialog appear while my AsyncTask is fetching data. In my onPreExecute() method I have this:
pd = ProgressDialog.show(c, "Loading...", "Please wait");
c is the context passed into the constructor of my AsyncTask from this.getApplicationContext(). Unfortunately, I keep getting an exception with this message:
Unable to add window -- Token null is not for an application
What am I doing wrong?
Update: Using this instead of this.getApplicationContext() has revealed another problem. When I call ProgressDialog.show(..., a ProgressDialog is displayed, but not until after the AsyncTask has completed. In other words, the data loads and then the dialog is displayed. If I include pd.dismiss() in my onPostExecute() then I never even see the dialog (presumable because it is closed before it ever gets opened).
Final solution: It turns out that fetch.get() was hogging the UI thread and not letting the ProgressDialog display.