【问题标题】:RecyclerView Item Click countRecyclerView 项目点击次数
【发布时间】:2016-08-24 16:17:14
【问题描述】:

我正在使用 RecyclerView 开发一个 android 应用程序。我想为每 6 或 7 次用户打开一个项目显示 admob 插页式广告。我想计算用户点击该项目的次数,如果该计数等于 6,那么我想显示插页式广告,然后将计数值重置为零,否则只进行正常流程。我想要一些代码示例来说明如何实现这一点,非常感谢任何帮助。

谢谢

这是我在回收器视图适配器中的示例 onItemClickListener

OnItemClickListener onItemClickListener = new OnItemClickListener() {
    @Override
    public void onItemClick(View view, int position) {
        Intent intent = new Intent(mContext, DetailView.class);
        intent.putExtra(DetailView.PASSING_DATA, itemData.get(position));
        mContext.startActivity(intent);
    }
};

【问题讨论】:

    标签: android admob android-recyclerview onclicklistener


    【解决方案1】:

    这听起来像是 SharedPreferences 的东西,一个存储计数器的地方,可以从应用程序中的任何位置获取和更新,即使在应用程序关闭后也保持其价值。

    从这里开始:http://www.tutorialspoint.com/android/android_shared_preferences.htm(包括完整示例)

    sn-p:

    SharedPreferences sharedpreferences = getSharedPreferences(MyPREFERENCES, Context.MODE_PRIVATE);
    Editor editor = sharedpreferences.edit();
    editor.putInt("key", value);
    editor.commit();
    

    【讨论】:

      【解决方案2】:

      在适配器类中,您应该有以下代码来处理点击:

        public static class RecyclerViewHolder extends RecyclerView.ViewHolder          implements View.OnClickListener{
              ImageView imageView;
              TextView txtItemName;
              ArrayList<ListDataProvider> arrayList = new ArrayList<ListDataProvider>();
          Context context;
      
          public RecyclerViewHolder(View view, Context context, ArrayList<ListDataProvider> arrayList){
              super(view);
              this.arrayList = arrayList;
              this.context = context;
              view.setOnClickListener(this);
              view.setOnClickListener(this);
              imageView = (ImageView) view.findViewById(R.id.img_item);
              txtItemName= (TextView) view.findViewById(R.id.item_name);
           }
      
          @Override
          public void onClick(View v) {
           //handle the clicks here
           // to have the particular item do
           int position = getAdapterPosition(); 
           ListDataProvider listDataProvider = this.arrayList.get(position);
        }
      }
      

      您可以像 TWL 所说的那样在此处添加共享首选项。

      【讨论】:

      • 谢谢你的回复,我找到了办法。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多