我的 AsyncTask 调用 Web 服务并在 POJO 中获取结果。现在 POJO 是不同的类型。& AsyncTask 只有一个。那么我可以有通用返回类型吗
protected T <T> doInBackground(Class<T> ... classTypes) {
//Code to call webservice & get pojo
return calssType.cast(pojoObject)
}
我的 AsyncTask 调用 Web 服务并在 POJO 中获取结果。现在 POJO 是不同的类型。& AsyncTask 只有一个。那么我可以有通用返回类型吗
protected T <T> doInBackground(Class<T> ... classTypes) {
//Code to call webservice & get pojo
return calssType.cast(pojoObject)
}
已尝试将返回类型设置为Object
,那么您应该可以将其转换为您想要的任何类型。
创建一个类似 POJOClass 的基类,它可以通过所需的类进行扩展,在异步类中进行类型转换。
yourTask extends AsyncTask<Object, Void, POJOClassObject> {
private ModelObject doInBackground(Object... params){... return POJOClassObject}
protected void onPostExecute(POJOClassObject object) {
//type cast here
}