Impossible de remplacer la méthode onPostExecute () dans la classe AsyncTask ou de la déclencher

J’ai du mal à faire en sorte que la méthode onPostExecute() appelle lors de l’exécution d’une AsyncTask . Lorsque j’essaie de configurer ma classe en étendant AsyncTask dans laquelle onPostExecute() est onPostExecute() j’obtiens l’erreur de génération suivante.

‘La méthode onPostExecute () de type AsyncTaskExampleActivity doit remplacer ou implémenter une méthode de supertype’

J’ai essayé de me débarrasser de l’annotation @Override . Cela élimine l’erreur de génération mais la méthode ne s’exécute toujours pas. Si quelqu’un avait la gentillesse de souligner ce que je ne vois pas, je l’apprécierais beaucoup.

Code:

 package com.asynctaskexample; import android.os.AsyncTask; public class AsyncTaskExampleActivity extends AsyncTask { AsyncTaskExampleActivity(){ super(); } @Override protected void onPreExecute() { } @Override protected Void doInBackground(Void... params) { return null; } @Override protected void onPostExecute() { } } 

OnPostExecute() prend un argument (l’object que vous retournez de doInBackground() ) . Changez le en protected void onPostExecute(Void v) . Si vous ne fournissez pas l’argument, les signatures de méthode ne correspondent pas et l’annotation de remplacement commence à se plaindre qu’il n’y a pas de fonction à remplacer par cette signature.

Essayer:

Dans la classe, cliquez avec le bouton droit de la souris sur Source -> Override/Implement methods.. et recherchez la méthode onPostExecute() . Il vous donnera une méthode complète avec tous les types d’arguments, le cas échéant.

Vous devez append la méthode super.onPostExecute (). Par exemple:

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

EDIT: Les gars, je n’ai aucune idée de la raison pour laquelle vous réduisez la réponse. Le questionneur n’a pas d’argument de la méthode onPostExecute() et ne dispose pas d’une méthode de supertype. C’est la raison pour laquelle j’ai posté cette réponse.