为了账号安全,请及时绑定邮箱和手机立即绑定

如何在 Recyclerview GridLayout 之间添加 Admob 广告

如何在 Recyclerview GridLayout 之间添加 Admob 广告

达令说 2022-06-08 17:10:54
我正在尝试在 RecyclerView 中实现 Admob 广告。我尝试了很多例子,但都失败了。我想在我的 RecyclerView 的 3 个项目之间插入一个广告,我正在使用 GridLayout 和 Admob 横幅。我想要我的应用程序视图,如下所示。任何帮助,将不胜感激。我的 RecyclerView 适配器  class ProductAdapter(private val userList: ArrayList<Model.ProductList>, private val context: Context, private val which: String) : androidx.recyclerview.widget.RecyclerView.Adapter<RecyclerView.ViewHolder>() {override fun onBindViewHolder(holder: RecyclerView.ViewHolder, position: Int) {    if (holder.itemViewType == 0) {        holder as MyViewHolder2        val adRequest = AdRequest.Builder().build()        holder.adView.loadAd(adRequest)        holder.adView.adListener = object : AdListener() {            override fun onAdFailedToLoad(errorCode: Int) {                Log.d("errorCode", errorCode.toString())            }        }    } else {        holder as MyViewHolder        val magazineList: Model.ProductList = userList[position]        Glide.with(context).load(magazineList.featured_image)            .thumbnail(0.5f)            .into(holder.image)        holder.title.text = magazineList.post_title        holder.views.text = magazineList.count        holder.date.text = magazineList.offer_valid        }    }}override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): RecyclerView.ViewHolder {    if (viewType == 0) {        return MyViewHolder2(LayoutInflater.from(parent.context).inflate(R.layout.ad_list_row, parent, false))    } else {        return MyViewHolder(LayoutInflater.from(parent.context).inflate(R.layout.product_list_row, parent, false))    }}override fun getItemCount(): Int {    return userList.size}override fun getItemViewType(position: Int): Int {    return if (position>0 && position % 3== 0) {        0    } else {        1    }  }
查看完整描述

2 回答

?
婷婷同学_

TA贡献1844条经验 获得超8个赞

尝试在 RecyclerView 中显示 5 或 10 个值后显示广告。喜欢:


@Override

public int getItemViewType(int position) 

{     

    if (position % 5 == 0)

    return AD_TYPE; 

   return CONTENT_TYPE;

}

并且不要忘记更改 getItemCount() 方法。


查看完整回答
反对 回复 2022-06-08
?
慕姐4208626

TA贡献1852条经验 获得超7个赞

您可以根据位置在 onBindViewHolder() 中设置 AdView 的可见性



查看完整回答
反对 回复 2022-06-08
  • 2 回答
  • 0 关注
  • 186 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信