我在主页上有一个项目列表,单击后将转到活动详细信息。在此之前,我想添加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);
}
}
}
}
});
它应适用于所有所有单击的列表,而不仅适用于每个已计数项目的列表。
答案 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();
}
});