gpt4 book ai didi

android - 改造返回 bool 值

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

如果 saveChanges 函数给我真实值,我想运行 changesHasBeenSaved。当 Retrofit 完成时,我怎样才能得到 bool 值或字符串或整数,任何值?可能吗?

我需要一个类似这样的函数:

public boolean saveChanges()
{
Boolean output = false;
RequestAPI requestAPI = Requests.getRetrofit();
Call<Object> jsonObjectCall = requestAPI.readAllCategoeies();

jsonObjectCall.enqueue(new Callback<Object>() {
@Override
public void onResponse(Call<Object> call, Response<Object> response) {
if(response.body() != null) {
output = true;
}

}

@Override
public void onFailure(Call<Object> call, Throwable t) {
call.cancel();
}
});

return output;
}

最佳答案

您应该将方法返回类型 boolean 更改为 void 作为改造工作异步。

您应该通过监听器/回调来获取回调中的状态。

首先创建如下回调接口(interface)

public interface ApiCallback {
void onResponse(boolean success);
}

这里是 saveChanges 的样子

public void saveChanges(final ApiCallback callback)
{
RequestAPI requestAPI = Requests.getRetrofit();
Call<Object> jsonObjectCall = requestAPI.readAllCategoeies();
jsonObjectCall.enqueue(new Callback<Object>() {
@Override
public void onResponse(Call<Object> call, Response<Object> response) {
callback.onResponse(response.body() != null);
}

@Override
public void onFailure(Call<Object> call, Throwable t) {
call.cancel();
callback.onResponse(false);
}
});
}

然后你需要像下面这样调用saveChanges方法

saveChanges(new ApiCallback () {
public void onResponse(boolean success){
if(success){
// do something
} else{
// do something
}
}
});

关于android - 改造返回 bool 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51914757/

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