2017-04-21 3 views
2

Fehler:Class 'Anonyme Klasse von AdListener abgeleitet' muss entweder abstrakt deklariert werden oder abstrakte Methode implementieren 'onLoggingImpressionMethod (Ad)'

Class 'Anonymous class derived from AdListener' must either be declared abstract or implement abstract method 'onLoggingImpressionMethod(Ad)' in 'AdListener'

Hier ist mein Code:

private void setUpFacebookAD() { 
     //AdSettings.addTestDevice("ae869b4a0e40ebbea07dafaabd9690aa"); 
     mFBNativeAd = new NativeAd(context, "xxxxxxxxxxxxxxx_xxxxxxxxxxxxxxx"); 
     mFBNativeAd.setAdListener(new com.facebook.ads.AdListener() { 

      @Override 
      public void onError(Ad ad, AdError error) { 
       // Ad error callback 
       Log.i("fb native ad","on Error" + " "+ error.getErrorMessage()); 
      } 

      @Override 
      public void onAdLoaded(Ad ad) { 
       // Ad loaded callback 
       Log.i("FB native ad ", "On Ad loaded"); 
       notifyDataSetChanged(); 

      } 

      @Override 
      public void onAdClicked(Ad ad) { 
       // Ad clicked callback 
       Log.i("FB natvie Ad" , "onAd clicked"); 
      } 
     }); 
     mFBNativeAd.loadAd(NativeAd.MediaCacheFlag.ALL); 
    } 

Die com. facebook.ads.AdListener ist rot unterstrichen. Ich habe es nur auf AdListener reduziert, aber immer noch Fehler bekommen. Es ist nur passiert, nachdem ich die jdk-Version und den Speicherort von JDK aktualisiert habe. Vor dem Upgrade funktioniert der Code. Wie kann ich es zur Arbeit bringen?

Antwort

1

Die Fehlermeldung zeigt Ihnen genau, was Sie tun müssen, um das Problem zu beheben: Implementieren Sie eine Methode mit der Signatur 'onLoggingImpressionMethod(Ad). Wenn Sie das Caretzeichen in die Zeile new com.facebook.ads.AdListener() verschieben, können Sie Alt-Eingabe drücken und aus dem Popup-Menü auswählen, um diese Methode automatisch für Sie einzufügen.

Verwandte Themen