Eugene
Eugene

Reputation: 60184

Run another AsyncTask in onPostExecute()

What if I need to run another async task being in another async task, meaning in onPostExecute() method, how to do so?

Upvotes: 13

Views: 8552

Answers (2)

Arun C
Arun C

Reputation: 9035

You can try the following code to create a NewAsyncTask in onPostExecute and then execute the new task.

@Override
protected void onPostExecute(String result) {
    NewAsyncTask newtask = new NewAsyncTask();
    newtask.execute();    
}

Upvotes: 2

waqaslam
waqaslam

Reputation: 68187

As a recommendation, try to off-load as many time's taking calls in your first AsyncTask as you can. However, if your application design is in such a way that you only need to execute another task once the first task is completed then simply execute the second AsyncTask exactly in the same way as you are doing for the first one.

@Override
protected void onPostExecute(String result) {
     new MySecondAsyncTask().execute(params);   //params if any
}

Upvotes: 23

Related Questions