无法覆盖AsyncTask类中的onPostExecute()方法或使其触发


问题内容

onPostExecute()在运行时无法获取要调用的方法AsyncTask。当我尝试建立扩展覆盖的类时,AsyncTask出现onPostExecute()以下构建错误。

“类型为AsyncTaskExampleActivity的onPostExecute()方法必须重写或实现超类型方法”

我尝试摆脱@Override注释。这样可以消除构建错误,但是该方法仍然无法执行。如果有人愿意指出我忽略的内容,我将不胜感激。

码:

package com.asynctaskexample;

import android.os.AsyncTask;

public class AsyncTaskExampleActivity extends AsyncTask<Void, Void, Void> {

AsyncTaskExampleActivity(){
super();
    }

@Override
protected void onPreExecute() {
    }

@Override
protected Void doInBackground(Void... params) {
    return null;
}

@Override
protected void onPostExecute() {
    }
}

问题答案:

OnPostExecute()接受一个参数
(您从中返回的对象doInBackground()。将其更改为protected void onPostExecute(Void v)。如果不提供参数,则方法签名不匹配,并且覆盖标注开始抱怨没有可用该签名覆盖的函数。