无法覆盖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)
。如果不提供参数,则方法签名不匹配,并且覆盖标注开始抱怨没有可用该签名覆盖的函数。