我正在使用RecyclerView开发一个Android应用程序。我想为每6或7次用户显示一个admob插页式广告,打开一个项目。我想计算用户点击该项目的次数,如果该计数等于6,那么我想显示插页式广告,然后将计数值重置为零,否则只进行正常处理。我想有一些代码示例,说明如何实现这一点,我们非常感谢任何帮助。
谢谢
这是我在recycleler视图适配器中的示例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那样在那里添加共享偏好。