2013-04-01 49 views
1

返回值我有這樣的代碼:從一個匿名類

public Dictionary<Object, Object> call(String method, Iterable args) 
{ 
    AsyncHttpClient client = new AsyncHttpClient(); 
client.get(getUrl(method, args), new AsyncHttpResponseHandler() { 
    @Override 
    public void onSuccess(String response) 
      { 
     Gson gson = new GsonBuilder().create();    
    }  
    }); 
} 

我希望能夠返回(Dictionary<Object, Object>) gson.fromJson(response, Dictionary.class)call方法,但如何做?我使用http://loopj.com/android-async-http/有一個易於使用的異步HTTP請求系統。

謝謝!

回答

0

由於gson對象在call()完成時尚未創建,因此不會返回任何內容。

有解決方法,根據您的具體需要。一般來說,您需要撥打onSuccess()中的gson.fromJson(response, Dictionary.class),將結果放在已知的位置,然後向您的應用程序發送一條消息,表明數據已準備就緒。

此外,由於無法保證成功,因此您需要處理http請求失敗的情況。