簡體   English   中英

RecyclerView項目點擊計數

[英]RecyclerView Item Click count

我正在使用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);
    }
};

這聽起來像是SharedPreferences東西,它是一個存儲計數器的位置,可以從您的應用程序中的任何位置進行獲取和更新,即使在您的應用程序關閉后,該值也保持不變。

從此處開始: http : //www.tutorialspoint.com/android/android_shared_preferences.htm (包括完整示例)

片段:

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

在適配器類中,您應該具有以下代碼來處理點擊:

  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所說。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM