简体   繁体   中英

How to extend from AsyncTask as a generic base class?

There are three different implementations of an AsyncTask :

public class DownloadTask extends AsyncTask<String, Integer, Boolean>
public class JsonParserTask extends AsyncTask<Object, Void, Boolean>
public class PostCommentTask extends AsyncTask<String, Void, HttpRequestResult>

I would like them to extend a BaseAsyncTask which I can use for dependency injection then. The class signatur of AsyncTask looks like this:

public abstract class AsyncTask<Params, Progress, Result>

How can I extend AsyncTask while maintaining the different parameters?

                               | DownloadTask
AsyncTask <-- BaseAsyncTask <--| JsonParserTask
                               | PostCommentTask

Try:

abstract class BaseAsyncTask<Params, Progress, Result> 
                  extends AsyncTask<Params, Progress, Result>

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM