2

私のAsyncTaskはWebサービスを呼び出し、POJOで結果を取得します。これで、POJOのタイプが異なります。&AsyncTaskは1つだけです。だから私は次のような一般的なリターンタイプを持つことができます

protected T <T> doInBackground(Class<T> ... classTypes) {
 //Code to call webservice & get pojo
 return calssType.cast(pojoObject)
}
4

2 に答える 2

2

リターンタイプをObjectに設定してみてください。そうすれば、好きなタイプにキャストできるはずです。

于 2012-10-05T06:43:09.567 に答える
0

POJOClassのような1つの基本クラスを作成し、必要なクラスで拡張できます。非同期クラスで型キャストを実行します。

yourTask extends AsyncTask<Object, Void, POJOClassObject> {

private ModelObject doInBackground(Object... params){... return POJOClassObject}

protected void onPostExecute(POJOClassObject object) {

//type cast here
}
于 2012-10-05T06:46:44.693 に答える