有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

点击列表后显示奖励视频广告的java 安卓

我在主页上有一个项目列表,点击后会进入活动详情。在此之前,我想添加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) 个答案

  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();
    
             }
         });
    
  2. # 2 楼答案

    更新:

    itemView.setOnClickListener(new View.OnClickListener() {
    
                        @Override
                        public void onClick(View v){
    int clickCount = mPreference.getInt("count",0);
                            if(clickCount > 3) {
    
                              if(mRewardedVideoAd.isLoaded()){
                                mRewardedVideoAd.show();
    
                            }
                                 mPreference.edit().remove("count").apply();
    
                            } else {
    
                                clickCount++;
    mPreference.edit().putInt("count",clickCount).apply();
                            Intent intent = new Intent(mContext, DetailsActivity.class);
                            intent.putExtra("title", dataList.get(getAdapterPosition()));
                            intent.putExtra("preview", previewList.get(getAdapterPosition()));
                            ctx.startActivity(intent);
    
                            }
                        }
                      });
    

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