无法重写AsyncTask类中的onPostExecute()方法或让它触发

我在运行AsyncTask时无法获取onPostExecute()方法。 当我尝试设置我的类扩展的onPostExecute()被覆盖的AsyncTask时,我得到以下的生成错误。

'AsyncTaskExampleActivitytypes的方法onPostExecute()必须覆盖或实现一个超types方法'

我试图摆脱@Override注释。 这摆脱了构build错误,但方法仍然不执行。 如果有人会指出我忽略了什么,我将不胜感激。

码:

 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) 。 如果您不提供参数,方法签名不匹配,并且重写注释开始抱怨没有函数用此签名覆盖。

尝试:

在类中,尝试右键单击Source -> Override/Implement methods..并寻找onPostExecute()方法。 它会给你完整的方法,如果它得到所有types的参数。

你应该添加super.onPostExecute()方法。 例如:

  @Override protected void onPostExecute(Void nothing) { super.onPostExecute(nothing); }