无法重写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); }