2012-10-05 30 views
2

我的AsyncTask調用web服務&在POJO中獲得結果。既然POJO是不同類型的。 & AsyncTask只有一個。所以我可以有通用的返回類型一樣Android:我可以在AsyncTask中使用通用返回類型 - doInBackGround

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

你試過了嗎? – zmbq

+0

是的,我試過...像'公共類GeneralSearchTask 擴展AsyncTask ,Integer, T> {....}'。但我猜不可能。 – hemu

回答

2

試過返回類型設置爲Object,那麼你應該能夠將其轉換爲任何你想要的類型。

0

創建一個基類,如POJOClass,它可以通過所需的類進行擴展,在異步類中進行類型轉換。

yourTask extends AsyncTask<Object, Void, POJOClassObject> { 

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

protected void onPostExecute(POJOClassObject object) { 

//type cast here 
} 
相關問題