2013-04-01 124 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请求失败的情况。