【发布时间】:2021-12-16 05:32:50
【问题描述】:
我正在尝试将来自 admob 的插页式广告集成到我的 android 项目中。但是,它在 backPressed 时工作,而不是在 onClick 中工作。我真的对我的代码中的 admob 规则感到困惑。你能检查我的代码,并修复正在发生的错误吗?基本上我想遵循 admob 广告政策并使其完美运行。
RecycleViewerAdapter.java
public class RecyclerViewAdapter extends RecyclerView.Adapter<RecyclerViewAdapter.MyViewHolder> {
private Context mContext;
private List<Anime> mData ;
RequestOptions option;
private InterstitialAd interstitialAd;
public RecyclerViewAdapter(Context mContext, List<Anime> mData) {
this.mContext = mContext;
this.mData = mData;
interstitialAd = new InterstitialAd(mContext.getApplicationContext());
interstitialAd.setAdUnitId(mContext.getString(R.string.admob_banner));
interstitialAd.loadAd(new AdRequest.Builder().build());
// Request option for Glide
option = new RequestOptions().centerCrop().placeholder(R.drawable.loading_shape).error(R.drawable.loading_shape);
}
@Override
public MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View view ;
LayoutInflater inflater = LayoutInflater.from(mContext);
view = inflater.inflate(R.layout.row_items,parent,false);
final MyViewHolder viewHolder = new MyViewHolder(view) ;
viewHolder.view_container.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (interstitialAd != null) {
interstitialAd.show();
} else {
//do something
}
Intent i = new Intent(mContext, WebViewActivity.class);
view.startAnimation(AnimationUtils.loadAnimation(mContext, R.anim.clcik));
i.putExtra("action_link",mData.get(viewHolder.getAdapterPosition()).getWebsite_link());
i.putExtra("puzzle_link",mData.get(viewHolder.getAdapterPosition()).getWebsite_link());
i.putExtra("arcade_link",mData.get(viewHolder.getAdapterPosition()).getWebsite_link());
i.putExtra("adventure_link",mData.get(viewHolder.getAdapterPosition()).getWebsite_link());
i.putExtra("sports_link",mData.get(viewHolder.getAdapterPosition()).getWebsite_link());
i.putExtra("racing_link",mData.get(viewHolder.getAdapterPosition()).getWebsite_link());
i.putExtra("zombie_link",mData.get(viewHolder.getAdapterPosition()).getWebsite_link());
mContext.startActivity(i);
CustomIntent.customType(mContext,"fadein-to-fadeout");
}
});
return viewHolder;
}
@Override
public void onBindViewHolder(MyViewHolder holder, int position) {
Glide.with(mContext).load(mData.get(position).getWebsite_logo()).apply(option).into(holder.img_thumbnail);
}
@Override
public int getItemCount() {
return mData.size();
}
public static class MyViewHolder extends RecyclerView.ViewHolder {
ImageView img_thumbnail;
LinearLayout view_container;
public MyViewHolder(View itemView) {
super(itemView);
view_container = itemView.findViewById(R.id.container);
img_thumbnail = itemView.findViewById(R.id.thumbnail);
}
}
}
请通过编辑我的代码写一个答案,这对我和其他初学者来说会更好理解。对不起我的英语不好。
提前致谢。
【问题讨论】:
标签: android json android-studio android-recyclerview admob