2012-04-10 45 views
0

我試圖做一個通用的方法來獲取一些與RequestFactory的數據。 我有一個getData方法執行請求,以獲取項目列表(泛型) 問題是,當我嘗試將返回的列表arg0分配給我的ListDataProvider我得到一個類型錯誤。GWT:RequestFactory和ListDataProvider類型錯誤

private ListDataProvider<T> dataProvider; 
. 
. 
. 
. 
public <T> void getData(Request<List<T>> specificRequest) { 
       specificRequest.fire(new Receiver<List<T>>() { 
         @Override 
         public void onSuccess(List<T> arg0) { 
           assignDataProvider(arg0); 
         } 
       }); 
       return ; 
} 

public <T> void assignDataProvider(List<T> arg0) { 
       this.dataProvider.setList(arg0); 
       //The method setList(List<T>) in the type ListDataProvider<T> is not 
applicable for the arguments (List<T>) 
       this.dataProvider= new ListDataProvider<T>(arg0); 
       //Type mismatch: cannot convert from 
com.google.gwt.view.client.ListDataProvider<T> to 
com.google.gwt.view.client.ListDataProvider<T> 
} 

如何使用從arg0獲得的數據,以便將其分配給我的ListDataProvider?

+0

你有什麼錯誤?始終用代碼提供錯誤堆棧跟蹤。 – 2012-04-10 05:43:38

+0

錯誤是: public void assignDataProvider(List arg0){ this.dataProvider.setList(arg0); this.dataProvider = new ListDataProvider (arg0); } 當我使用:this.dataProvider.setList(arg0); 在類型ListDataProvider 方法SETLIST(列表)不 適用於參數(列表) 當我使用:this.dataProvider =新ListDataProvider (爲arg0); 類型不匹配:不能轉換從 com.google.gwt.view.client.ListDataProvider 到 com.google.gwt.view.client.ListDataProvider jmbz 2012-04-10 15:32:06

回答

0

如果在dataProvider類型的聲明中沒有出現錯誤,則類型T被定義爲類聲明中的參數。
如果是這樣,你應該從方法聲明中移除。

祝你好運!

+0

謝謝我刪除從方法聲明中和它的工作 – jmbz 2012-04-10 15:36:28