gpt4 book ai didi

android - 如何将内部类的值返回给外部类?

转载 作者:搜寻专家 更新时间:2023-11-01 08:40:28 24 4
gpt4 key购买 nike

我想做的是当 onSuccess 方法执行时,queryLogin 返回 true,而如果 onFailuer方法执行后,queryLogin 返回false;但是如您所知,在 Java 中,我无法从内部类修改外部类的值。所以我只是想知道如何解决问题并实现我的目标。

 public static boolean queryLogin(String username, String passowrd){
boolean isSuccess = false;
params.put("username", username);
params.put("password", passowrd);
VStarRestClient.post(LOGIN_URL, params, new AsyncHttpResponseHandler() {
@Override
public void onSuccess(int statusCode, Header[] headers, byte[] responseBody) {
isSuccess = true;//cannot
}

@Override
public void onFailure(int statusCode, Header[] headers, byte[] responseBody, Throwable error) {
String responseContent = new String(responseBody);
isSuccess = false;//cannot
}
});

return isSuccess;
}

最佳答案

你试图在这里混契约(Contract)步和异步行为,这是行不通的。

post() 方法只触发一个 HTTP post 并且您的登录方法的执行会一直持续到结束,而无需等待该 post 的结果。这就是 AsyncHttpResponseHandler 的用途。当对 post() 的回复到达时调用它。

网络 Activity (以及所有其他可能需要很长时间的任务)始终是异步的,以免卡住您应用的 UI。

关于android - 如何将内部类的值返回给外部类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33120745/

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