从匿名类返回值

时间:2013-04-01 19:33:28

标签: android asynchronous return anonymous

我有这样的代码:

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请求系统。

谢谢!

1 个答案:

答案 0 :(得分:0)

由于在call()完成时尚未创建gson对象,因此不会返回任何内容。

根据您的具体需求,有一些解决方法。一般情况下,您需要在gson.fromJson(response, Dictionary.class)中致电onSuccess(),将结果放在已知位置,然后向您的应用发送一条消息,表明数据已准备就绪。

此外,由于无法保证成功,您需要处理http请求失败的情况。