Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/195.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用函数内的抽象方法获取正确的返回值_Java_Android_Android Asynctask_Abstract - Fatal编程技术网

Java 使用函数内的抽象方法获取正确的返回值

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")){

我想在方法中检查AsyncTask的结果

  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中声明吗?这个方法应该做什么?