Intereting Posts

Невозможно переопределить метод onPostExecute () в классе AsyncTask или заставить его запускать

У меня onPostExecute() проблема с onPostExecute() метода onPostExecute() для вызова при запуске AsyncTask . Когда я пытаюсь настроить мой класс, расширяющий AsyncTask в котором onPostExecute() переопределяется, я получаю следующую ошибку сборки.

'Метод onPostExecute () типа AsyncTaskExampleActivity должен переопределить или реализовать метод супертипа'

Я попытался избавиться от аннотации @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() { } } 

Solutions Collecting From Web of "Невозможно переопределить метод onPostExecute () в классе AsyncTask или заставить его запускать"

OnPostExecute() принимает аргумент (объект, который вы возвращаете из doInBackground() ) . Измените его на protected void onPostExecute(Void v) . Если аргумент метода не указан, сигнатуры метода не совпадают, и аннотация переопределения начинает жаловаться на отсутствие функции для переопределения этой сигнатуры.

Пытаться:

В классе попробуйте щелкнуть правой кнопкой мыши Source -> Override/Implement methods.. и искать метод onPostExecute() . Он даст вам полный метод со всеми типами аргументов.

Вы должны добавить метод super.onPostExecute (). Например:

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