gpt4 book ai didi

java - 从匿名内部类内部返回其包含的方法的数据

转载 作者:行者123 更新时间:2023-12-02 09:57:35 25 4
gpt4 key购买 nike

我有一个方法可以进行需要匿名内部类的 API 调用。在匿名内部类中,有一个 onResponse 方法,它有一个 void 返回类型,我可以在其中访问 JSON。我希望该方法返回 JSON。

public JSONObject makeAPIRequest() {

JsonObjectRequest jsonObjectRequest = new JsonObjectRequest(Request.Method.GET, url, null, new Response.Listener<JSONObject>(){

@Override
public void onResponse(JSONObject response){
//have makeAPIRequest() return response
},
new Response.ErrorListener(){
@Override
public void onErrorResponse(VolleyError error){
...
}
});
}

最佳答案

简短的回答 - 您需要重构您的方法,使其不是程序化的并使用 return...

例如,

public void makeAPIRequest(Response.Listener<JSONObject> listener) {
JsonObjectRequest jsonObjectRequest = new JsonObjectRequest(Request.Method.GET, url, null, listener);
// TODO: submit request
}

然后在其他类中,您有一个回调作为您的“返回”

apiInstance.makeAPIRequest(new Response.Listener<JSONObject>(){

@Override
public void onResponse(JSONObject response){
// do stuff
},
new Response.ErrorListener(){
@Override
public void onErrorResponse(VolleyError error){
...
}
});

关于java - 从匿名内部类内部返回其包含的方法的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55886424/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com