onBackPressed()覆盖错误

时间:2014-11-11 04:46:55

标签: java android eclipse override onbackpressed

我想在我的动态壁纸设置上实施Appbrain插页式广告, 我按照 - http://www.appbrain.com/info/sdk-docs/interstitial.html

上的步骤进行了操作
@Override
public void onBackPressed() {
    AppBrain.getAds().maybeShowInterstitial(this);
    finish();
} 

注意:onBackPressed()

上的eclipse红色下划线

日食给出了错误:

  

SBLiveWallpaper类型的onBackPressed()方法必须覆盖或实现超类型方法

一个快速解决方法是:删除@override注释

解决方案是什么?

更新:这是截图: http://prntscr.com/558my0

4 个答案:

答案 0 :(得分:1)

由于eclipse本身为您提供了捕获异常解决方案的提示

  

SBLiveWallpaper类型的onBackPressed()方法必须覆盖或实现超类型方法

您的班级SBLiveWallpaper必须扩展Activity类,其中onBackPressed()方法只有直接或间接延长Activity类时才能覆盖该方法/强>

喜欢:

public SBLiveWallpaper extends Activity {

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

}

答案 1 :(得分:1)

调用super.onBackPressed();不要删除@override。

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

正如您提供的链接所述。

答案 2 :(得分:0)

@Override注释所做的就是让你知道该方法应该覆盖该方法的超类实现。如果您收到错误,这意味着它不会覆盖任何内容,这只是一种常规方法。检查您是否正在实现正确的接口或扩展包含onBackPressed方法的正确超类。

答案 3 :(得分:0)

添加super.onBAckPressed();代替完成()。