私のAsyncTaskはWebサービスを呼び出し、POJOで結果を取得します。これで、POJOのタイプが異なります。&AsyncTaskは1つだけです。だから私は次のような一般的なリターンタイプを持つことができます
protected T <T> doInBackground(Class<T> ... classTypes) {
//Code to call webservice & get pojo
return calssType.cast(pojoObject)
}
私のAsyncTaskはWebサービスを呼び出し、POJOで結果を取得します。これで、POJOのタイプが異なります。&AsyncTaskは1つだけです。だから私は次のような一般的なリターンタイプを持つことができます
protected T <T> doInBackground(Class<T> ... classTypes) {
//Code to call webservice & get pojo
return calssType.cast(pojoObject)
}
リターンタイプをObject
に設定してみてください。そうすれば、好きなタイプにキャストできるはずです。
POJOClassのような1つの基本クラスを作成し、必要なクラスで拡張できます。非同期クラスで型キャストを実行します。
yourTask extends AsyncTask<Object, Void, POJOClassObject> {
private ModelObject doInBackground(Object... params){... return POJOClassObject}
protected void onPostExecute(POJOClassObject object) {
//type cast here
}