How can I use AsyncTask in different Activities?

Technology CommunityCategory: AndroidHow can I use AsyncTask in different Activities?
VietMX Staff asked 3 years ago

One of the methods using AsynTask in different Activities, creating a callback interface.

Create a callback interface

interface AsyncTaskListener<T> {
    public void onComplete(T result);
}

Then in your MainActivity and TestActivity:

public class MainActivity extends AppCompatActivity
       implements AsyncTaskListener<String> {

      public void onComplete(String result) {
              // your staff here
      }
}

public class TestActivity extends AppCompatActivity
       implements AsyncTaskListener<String> {

      public void onComplete(String result) {
              // your staff here
      }
}

And add to your AsyncTask class:

public class JSONTask extends AsyncTask < String, String, String >
 private AsyncTaskListener < String > listener;

public JSONTask(AsyncTaskListener < String > callback) {
 this.listener = callback;
}

protected void onPostExecute(String result) {
 listener.onComplete(result); // calling onComplate interface
}