【问题标题】:Return value from an anonymous class从匿名类返回值
【发布时间】:2013-03-22 22:30:07
【问题描述】:

我有这样的代码:

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&lt;Object, Object&gt;) gson.fromJson(response, Dictionary.class) 返回到我的call 方法,但是如何做?我使用http://loopj.com/android-async-http/ 拥有一个易于使用的异步 HTTP 请求系统。

谢谢!

【问题讨论】:

    标签: android asynchronous return anonymous


    【解决方案1】:

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

    有一些变通方法,具体取决于您的具体需求。通常,您需要在onSuccess() 中调用gson.fromJson(response, Dictionary.class),将结果放在已知位置,然后向您的应用发送一条消息,告知数据已准备就绪。

    另外,由于不能保证成功,所以需要处理http请求失败的情况。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-03-29
      • 2010-09-08
      • 1970-01-01
      相关资源
      最近更新 更多