我正在使用AsyncHttpResponseHandler从RESTful服务中收集数据。我遇到的问题是,我无法访问onSuccess回调中需要的变量。将变量传递给Android的AsyncHttpResponseHandler回调函数
我的代码如下。
for (int i=0; i<=count; i++) {
requestItemsByCategory(context, categories.get(i), 10, new AsyncHttpResponseHandler() {
@Override
public void onSuccess(String response) {
loadItemsFromJsonString(context, response, categories.get(i));
}
});
}
上下文和类别在onSuccess中显然不可用。我可以创建这些全局变量,但问题是这会导致一个循环,所以onSuccess将被调用几次,但不能保证哪一个会首先返回。
我对Java很新。在Objetive-C中,您仍然可以访问代码块内匿名函数之外的变量。如果它不能完成,我将不得不自定义我的查询以立即撤回所有数据,然后解析它在客户端,无论如何,这是一个更好的解决方案,但我想知道是否访问回调内的项目是可能的。