gpt4 book ai didi

java - 如何正确设置匿名类中的字段并在主类中使用它们?

转载 作者:行者123 更新时间:2023-12-03 17:58:28 27 4
gpt4 key购买 nike

我正在Android Studio中制作应用程序,并且无法设置匿名类中字段的值。

我知道“ receivedNumber”始终与“ -1”不同,并且值“ isExist”必须为“ true”,但在日志中为“ false”。
int字段也会发生同样的事情-始终返回0。
我应该怎么做才能在匿名类中正确设置字段并在我的主类中使用它们。

private void isNumberExist()
{
String URL = "some url...";
final boolean[] isExist = new boolean[1];
objectRequest = new JsonObjectRequest(
Request.Method.GET,
URL,
null,
new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject response) {
try {
int receivedNumber = response.getInt("id");
if (receivedNumber == -1) {
isExist[0] = false;
} else {
isExist[0] = true;
}
} catch (JSONException e) {
e.printStackTrace();
}
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
//error
}
}
);
Log.e("isExist","value"+ isExist[0]);
requestQueue.add(objectRequest);
requestQueue.cancelAll(this);
}

最佳答案

它将始终为false,因为您在执行http(s)请求之前登录了isExist[0]

请尝试这个

private void isNumberExist()
{
String URL = "some url...";
final boolean[] isExist = new boolean[1];
objectRequest = new JsonObjectRequest(
Request.Method.GET,
URL,
null,
new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject response) {
try {
int receivedNumber = response.getInt("id");
if (receivedNumber == -1) {
isExist[0] = false;
} else {
isExist[0] = true;
}
} catch (JSONException e) {
e.printStackTrace();
}
// New log location
Log.e("isExist","value"+ isExist[0]);
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
//error
}
}
);
requestQueue.add(objectRequest);
requestQueue.cancelAll(this);
}

关于java - 如何正确设置匿名类中的字段并在主类中使用它们?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54031626/

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