Can't Override onPostExecute() method in AsyncTask Class or get it to trigger
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.
Related videos on Youtube
Ben
Updated on July 09, 2022Comments
-
Ben almost 2 years
I am having trouble getting the
onPostExecute()
method to call when running anAsyncTask
. When I try to set up my class extendingAsyncTask
in which theonPostExecute()
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() { } }
-
FanaticD over 8 yearsWhy should he add it? Would you please clarify reasons to?
-
Admin almost 8 yearsIn Android Studio you can go to menu Code -> Override Methods (Ctrl + O)
-
Sandip Subedi about 7 yearsOn the new version, Right Click -> Generate -> Override methods