2017-04-21 134 views
2

錯誤:類 '從AdListener的派生匿名類' 必須被聲明爲抽象或實現抽象方法 'onLoggingImpressionMethod(AD)'

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

這是我的代碼:

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); 
    } 

在COM。 facebook.ads.AdListener紅色下劃線。我試着只將它縮小到AdListener,但仍然出現錯誤。它只發生在我升級了jdk版本和JDK的位置之後。升級之前,代碼正在工作。我怎樣才能使它工作?

回答

1

錯誤消息告訴你你必須做什麼來解決這個問題:實現一個簽名爲'onLoggingImpressionMethod(Ad)的方法。如果您將插入符號移動到new com.facebook.ads.AdListener()所在的行,您可以按Alt-Enter並從彈出菜單中選擇以自動爲您插入此方法。

相關問題