无法覆盖AsyncTask类中的onPostExecute()方法或让它触发

Ben*_*Ben 43 java methods android overriding android-asynctask

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() {
    }
}
Run Code Online (Sandbox Code Playgroud)

小智 105

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


Nik*_*ski 24

尝试:

在课堂上尝试右键单击Source -> Override/Implement methods..并查找该onPostExecute()方法.它将为您提供完整的方法,包括所有类型的参数.