0

ライブ壁紙の設定に Appbrain インタースティシャル広告を実装したいのですが、 次の
手順に従いました - http://www.appbrain.com/info/sdk-docs/interstitial.html

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

注: onBackPressed() の Eclipse の赤い下線

日食はエラーを出しています:

タイプ SBLiveWallpaper のメソッド onBackPressed() は、スーパータイプ メソッドをオーバーライドまたは実装する必要があります

簡単な修正の 1 つは、@override アノテーションを削除することです。

解決策は何ですか?

更新: これがスクリーンショットです: http://prntscr.com/558my0

4

4 に答える 4

1

super.onBackPressed(); を呼び出します。@override を削除しないでください。

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

あなたが提供したリンクで述べたように。

于 2014-11-11T05:01:03.023 に答える
1

Eclipse自体が例外の解決策をキャッチするためのヒントを提供するため

タイプ SBLiveWallpaper のメソッド onBackPressed() は、スーパータイプ メソッドをオーバーライドまたは実装する必要があります

クラスはメソッドを持つクラスをSBLiveWallpaper拡張する必要があるため、クラスを直接または間接的に拡張する場合にのみそのメソッドをオーバーライドできます。ActivityonBackPressed()Activity

お気に入り :

public SBLiveWallpaper extends Activity {

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

}
于 2014-11-11T04:58:39.680 に答える
0

@Override アノテーションが行っていることは、そのメソッドがそのメソッドのスーパー クラス実装をオーバーライドすることになっていることを知らせることだけです。エラーが発生した場合、それは何もオーバーライドしておらず、通常のメソッドであることを意味します。正しいインターフェースを実装していること、または onBackPressed メソッドを含む正しいスーパー クラスを拡張していることを確認してください。

于 2014-11-11T04:51:26.093 に答える