Updating progress dialog in Activity from AsyncTask
        Posted  
        
            by 
                Laimoncijus
            
        on Stack Overflow
        
        See other posts from Stack Overflow
        
            or by Laimoncijus
        
        
        
        Published on 2011-01-04T08:48:00Z
        Indexed on 
            2011/01/04
            8:54 UTC
        
        
        Read the original article
        Hit count: 349
        
In my app I am doing some intense work in AsyncTask as suggested by Android tutorials and showing a ProgressDialog in my main my activity:
dialog = ProgressDialog.show(MyActivity.this, "title", "text");
new MyTask().execute(request);
where then later in MyTask I post results back to activity:
class MyTask extends AsyncTask<Request, Void, Result> {
    @Override protected Result doInBackground(Request... params) {
        // do some intense work here and return result
    }
    @Override protected void onPostExecute(Result res) {
        postResult(res);
    }
}
and on result posting, in main activity I hide the dialog:
protected void postResult( Result res ) {
    dialog.dismiss();
    // do something more here with result...
}
So everything is working fine here, but I would like to somehow to update the progress dialog to able to show the user some real progress instead just of dummy "Please wait..." message. Can I somehow access the progress dialog from MyTask.doInBackground, where all work is done? 
As I understand it is running as separate Thread, so I cannot "talk" to main activity from there and that is why I use onPostExecute to push the result back to it. But the problem is that onPostExecute is called only when all work is already done and I would like to update progress the dialog in the middle of doing something.
Any tips how to do this?
© Stack Overflow or respective owner