类'从AdListener派生的匿名类'必须被声明为abstract或实现抽象方法'onLoggingImpressionMethod(Ad)'

时间:2017-04-21 01:40:59

标签: java android class android-studio

错误:

  

类'从AdListener派生的匿名类'必须被声明为abstract或在'AdListener'中实现抽象方法'onLoggingImpressionMethod(Ad)'

这是我的代码:

    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 个答案:

答案 0 :(得分:1)

错误消息告诉您必须采取哪些措施来解决问题:使用签名'onLoggingImpressionMethod(Ad)实现方法。如果将插入符号移动到显示new com.facebook.ads.AdListener()的行,则可以按Alt-Enter并从弹出菜单中选择以自动为您插入此方法。