在不覆盖其参数的情况下扩展 AsyncTask
Extending AsyncTask without overriding its paramters
正如我在 AsyncTask class 中发现的 class 声明如下
public abstract class AsyncTask<Params, Progress, Result>
当我扩展 AsyncTask 时,我应该覆盖那些参数(即 AsyncTask),我不需要那个,我需要向 AsyncTask 添加一些功能,但在扩展我的 CustomAsyncTask 时仍然能够覆盖这些参数,这样我还需要像这样制作我的自定义 AsyncTask 声明
public abstract class CustomAsyncTask<Params, Progress, Result>
但是当我这样做时,"Params, Progress, Result" 不被识别为 AsyncTask class。
我发现我可以像这样声明我的自定义 class
public abstract class CustomAsyncTask<Params, Progress, Result> extends AsyncTask<Params, Progress, Result>
怎么样
public abstract class CustomAsyncTask<Params, Progress, Result>
extends AsyncTask<Params, Progress, Result>
您可以扩展到 AsyncTask
overriding
onPreExecute
、onPostExecute
但您必须 override
doInBackground
.
public class AsyncTaskParseJSONData extends AsyncTask {
public AsyncTaskParseJSONData(JSONObject response) {
this.responseObject = response;
}
@Override
protected Object doInBackground(Object[] params) {
}
}
看看这是否对你有帮助。
正如我在 AsyncTask class 中发现的 class 声明如下
public abstract class AsyncTask<Params, Progress, Result>
当我扩展 AsyncTask 时,我应该覆盖那些参数(即 AsyncTask),我不需要那个,我需要向 AsyncTask 添加一些功能,但在扩展我的 CustomAsyncTask 时仍然能够覆盖这些参数,这样我还需要像这样制作我的自定义 AsyncTask 声明
public abstract class CustomAsyncTask<Params, Progress, Result>
但是当我这样做时,"Params, Progress, Result" 不被识别为 AsyncTask class。
我发现我可以像这样声明我的自定义 class
public abstract class CustomAsyncTask<Params, Progress, Result> extends AsyncTask<Params, Progress, Result>
怎么样
public abstract class CustomAsyncTask<Params, Progress, Result>
extends AsyncTask<Params, Progress, Result>
您可以扩展到 AsyncTask
overriding
onPreExecute
、onPostExecute
但您必须 override
doInBackground
.
public class AsyncTaskParseJSONData extends AsyncTask {
public AsyncTaskParseJSONData(JSONObject response) {
this.responseObject = response;
}
@Override
protected Object doInBackground(Object[] params) {
}
}
看看这是否对你有帮助。