Can't Override onPostExecute() method in AsyncTask Class or get it to trigger
I am having trouble getting the onPostExecute()
method to call when running an AsyncTask
. When I try to set up my class extending AsyncTask
in which the onPostExecute()
is overridden I get the following build error.
'The method onPostExecute() of type AsyncTaskExampleActivity must override or implement a supertype method'
I have tried getting rid of the @Override
annotation. This gets rid of the build error but the method still does not execute. If any one would be so kind as to point out what I'm overlooking I would greatly appreciated it.
Code:
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() {
}
}
Solution 1:
OnPostExecute()
takes an argument (the object you return from doInBackground()
). Change it to protected void onPostExecute(Void v)
. If you don't provide the argument, the method signatures do not match and the override annotation starts to complain that there is no function to override with this signature.
Solution 2:
Try:
In the class try right click Source -> Override/Implement methods..
and look for the onPostExecute()
method. It will give you complete method with all types of arguments should it get.