提问者:小点点

在每个RecycerView项目上执行间隙广告


下面是我的代码。 此代码仅显示间隙广告仅第一项。 我想在我的回收视图上显示广告的每一个项目。 当用户点击任何项目,广告应该出现。

public void onBindViewHolder(@nonnull CustomHolder holder,int位置){

    final String htmlfile = htmlFile[position];

    holder.textView.setText(title[position]);

    MobileAds.initialize(context, "ca-app-pub-3940256099942544~3347511713");
    final InterstitialAd mInterstitialAd = new InterstitialAd(context);
    mInterstitialAd.setAdUnitId("ca-app-pub-3940256099942544/1033173712");
    mInterstitialAd.loadAd(new AdRequest.Builder().build());

    mInterstitialAd.setAdListener(new AdListener() {
        @Override
        public void onAdClosed() {
            mInterstitialAd.loadAd(new AdRequest.Builder().build());
            Intent intent = new Intent(context,StudyActivity.class);
            intent.putExtra("file",htmlfile);
            context.startActivity(intent);
            ((CategoryActivity)context).finish();
        }
    });



    holder.linearLayout.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {



            if(mInterstitialAd.isLoaded()){
                mInterstitialAd.show();
            }else{
                Intent intent = new Intent(context,StudyActivity.class);
                intent.putExtra("file",htmlfile);
                context.startActivity(intent);
                ((CategoryActivity)context).finish();
            }


        }
    });

}

共1个答案

匿名用户

您不必在onAdClosed方法中再次加载

mInterstitialAd.loadAd(new AdRequest.Builder().build());//REMOVE THIS

您不必为每个项目初始化,将以下代码移动到您的activity

MobileAds.initialize(context, "ca-app-pub-3940256099942544~3347511713");

其他一切都应该正常。

快乐的编码!