gpt4 book ai didi

java - 将变量传递给 Java (android) 中的嵌套方法并返回它

转载 作者:行者123 更新时间:2023-11-29 20:10:34 26 4
gpt4 key购买 nike

你好,我有一个这样的方法,我想声明'userList'并将它传递给嵌套方法,然后在该嵌套方法之外返回它。

像这样:

private List<User> getUsers() {
List<User> userList = new ArrayList<>();

@Override
public void onResponse(JSONObject response)
{
for(int i=0; i < 100; i++)
{
...
userList.add(user);
}
});
return userList;
}

如何将 userlist 传递给 onResponse(JSONObject response) 然后在该函数之外返回它?

最佳答案

@Override
public void onResponse(JSONObject response) ...
// void return type == cannot return

意味着您正在实现这个抽象方法(OkHttp/Volley/Retrofit,随便什么)。所以(从技术上讲)您不能更改其签名,这意味着您不能从此回调中返回任何内容。

您唯一可以做的就是使用一个成员变量,您可以将回调方法的结果分配给它:

// Member variable of this class
List<User> userList = new ArrayList<>();

@Override
public void onResponse(JSONObject response) {
for (int i = 0; i < 100; i++) {
// Add elements to your arraylist
userList.add(user);
}

/* That's it, your arraylist is updated. Now call whatever method that
was supposed to retrieve the result (the arraylist) of this callback */
}

关于java - 将变量传递给 Java (android) 中的嵌套方法并返回它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35024772/

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