Intereting Posts
Java.lang.RuntimeException: Невозможно создать экземпляр активности ComponentInfo Google Play на Android 4.0 эмулятор Возможно ли для Android-приложения временно отключить «ОК Google»? Как я могу разрабатывать мобильные приложения с использованием HTML5? Панель действий вверх с фрагментами Как решить этот эмулятор: ОШИБКА: неизвестное имя скина 'WVGA800' Получил стек из Android Market, в котором упоминается приложение конкурента Случайное исключение android.database.sqlite.SQLiteException: невозможно открыть файл базы данных Внедрение SearchView в соответствии с рекомендациями по разработке материалов Как правильно клонировать проект Android с помощью Eclipse и Mercurial Расширение AdapterView Посылка Unmarshalling неизвестный тип кода Завершите старую активность и запустите новую или наоборот Установите анимированный .GIF в качестве фона Android Android <-> iOS direct communication (Bluetooth). Является ли это возможным?

Невозможно переопределить метод 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); }