Java 使用函数内的抽象方法获取正确的返回值
我想在方法中检查AsyncTask的结果Java 使用函数内的抽象方法获取正确的返回值,java,android,android-asynctask,abstract,Java,Android,Android Asynctask,Abstract,我想在方法中检查AsyncTask的结果 private boolean isRequestSuccessfull(){ boolean test = false; new HttpRequest() { @Override public void onResponseReceived(JSONObject result) { if (result.optBoolean("success")){
private boolean isRequestSuccessfull(){
boolean test = false;
new HttpRequest() {
@Override
public void onResponseReceived(JSONObject result) {
if (result.optBoolean("success")){
return true;
} else {
return false;
}
}
}.get(getBaseContext(), "myUrl");
return test;
}
isRequestSuccessfull检查httpRequest的结果是否成功
HttpRequest是一个调用服务器的AsyncTask,onResponseReceived是一个允许我获取请求结果的抽象方法
此代码不起作用,因为在onResponseReceived中不能有返回布尔值。
我无法在onResonseReceived内分配值测试并返回它,因为返回将在分配之前执行
如何解决此问题?不要从方法中返回
布尔值
,而是将其设置为无效
,并在收到响应时让匿名的HttpRequest
执行方法调用,例如
new HttpRequest() {
@Override
public void onResponseReceived(JSONObject result) {
if (result.optBoolean("success")) {
callMethodWithBoolean(true);
} else {
callMethodWithBoolean(false);
}
}
}.get(getBaseContext(), "myUrl");
谢谢你的回答,但我不明白callMethodWithBoolean需要在HttpRequest中声明吗?这个方法应该做什么?