android-在点击列表后显示奖励视频广告

时间:2019-01-25 09:32:34

标签: java android android-studio admob

我在主页上有一个项目列表,单击后将转到活动详细信息。在此之前,我想添加Rewarded Video Ads,但是在用户3次单击项目列表后有一个限制,广告将出现。 有什么建议可以做到吗? 或Shared Preferences的类似功能?

更新: 我尝试使用下面的代码运行,但是这不包括单击的每个列表。

class ViewHolder extends RecyclerView.ViewHolder {
        private TextView tvTitle;
        private LinearLayout rowLayout;

        ViewHolder(View itemView, final Context ctx) {
            super(itemView);
            mContext = ctx;
            tvTitle = itemView.findViewById(R.id.tvTitle);
            rowLayout = itemView.findViewById(R.id.rowLayout);

               itemView.setOnClickListener(new View.OnClickListener() {
               int clickCount = 1;
                    @Override
                    public void onClick(View v){
                        if(clickCount > 3) {

                          if(mRewardedVideoAd.isLoaded()){
                            mRewardedVideoAd.show();
                        }
                            clickCount = 0;
                        } else {

                            clickCount++;
                        Intent intent = new Intent(mContext, DetailsActivity.class);
                        intent.putExtra("title", dataList.get(getAdapterPosition()));
                        intent.putExtra("preview", previewList.get(getAdapterPosition()));
                        ctx.startActivity(intent);

                        }
                    }
                  }
                 }
                });

它应适用于所有所有单击的列表,而不仅适用于每个已计数项目的列表。

2 个答案:

答案 0 :(得分:2)

已更新:

div

为什么不在ViewHolder类中使用自定义界面而不是这样做!

答案 1 :(得分:1)

尝试使用此代码:

     Button button = findViewById(R.id.button_id);
     int click = 0 ;
     button.setOnClickListener(new View.OnClickListener() {
         public void onClick(View v) {
            if(click > 3){
            //show ads
            }else{
             click++ ;
            }
         PreferenceManager.getDefaultSharedPreferences(MainActivity.this)
        .edit().putString(key, value).apply();

         }
     });