Ошибка переопределения onBackPressed()

Я хочу внедрить промежуточную рекламу Appbrain в настройках своих живых обоев,
я следовал инструкциям, приведенным на http://www.appbrain.com/info/sdk-docs/interstitial.html

@Override
public void onBackPressed() {
    AppBrain.getAds().maybeShowInterstitial(this);
    finish();
} 

Примечание: затмение красным подчеркиванием на onBackPressed()

Затмение дает ошибку:

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

Одним из быстрых решений является удаление аннотации @override.

Каково решение?

Обновление: вот скриншот: http://prntscr.com/558my0

4 ответа

Поскольку затмение само по себе дает вам подсказку, чтобы поймать решение вашего исключения

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

твой класс SBLiveWallpaper должен продлить Activity класс, который имеет onBackPressed() метод, чтобы вы могли переопределить этот метод, только если вы расширяете Activity Класс прямо или косвенно.

Подобно:

public SBLiveWallpaper extends Activity {

    @Override
    public void onBackPressed() {
        AppBrain.getAds().maybeShowInterstitial(this);
        finish();
    }

}

Вызовите super.onBackPressed(); не удаляйте @override.

@Override
public void onBackPressed() {
super.onBackPressed();
    AppBrain.getAds().maybeShowInterstitial(this);
    finish();
} 

Как указано в ссылке, которую вы предоставили.

Добавьте super.onBAckPress(); на месте финиша ().

Все, что делает аннотация @Override, это сообщает вам, что метод должен переопределять реализацию этого метода в суперклассе. Если вы получаете сообщение об ошибке, это означает, что оно ничего не переопределяет и это просто обычный метод. Убедитесь, что вы реализуете правильные интерфейсы или расширяете правильный суперкласс, содержащий метод onBackPressed.

Другие вопросы по тегам