如何从AsyncTask扩展为通用基类?

时间:2013-09-19 16:54:03

标签: java android android-asynctask abstract-class generic-programming

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>

我希望他们扩展BaseAsyncTask然后我可以用于依赖注入。 AsyncTask的班级签名如下:

public abstract class AsyncTask<Params, Progress, Result>

如何在保持不同参数的同时扩展AsyncTask

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

1 个答案:

答案 0 :(得分:12)

尝试:

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