将 GridLayoutManager 与 RecyclerView 一起使用时出现 Admob 问题

Admob issue when using GridLayoutManager with RecyclerView

我有一个 GridLayoutManager 的 recyclerview,其 spancount 为 3。我有两种视图类型 - 一种用于 recyclerview 项目,一种用于 ads(admob)。以下是我的 spancount 为 3

时的结果

您可以看到广告是不可见的,现在当我将 spancount 更改为 1 时它变得可见,如下所示

我认为这是因为 admob 广告不支持这些尺寸,有解决办法吗?

即使我尝试硬编码广告尺寸,广告也没有显示 我的问题是有没有一种方法可以将 GridLayoutManagerspancount 作为 3

的 adview 放入我的 recyclerview

是的,这是可能的。您所要做的就是像下面这样在您的布局管理器上调用 setSpanSizeLookup

mLayoutManager.setSpanSizeLookup(new GridLayoutManager.SpanSizeLookup() {
    @Override
    public int getSpanSize(int position) {
        if (position % MainActivity.ITEMS_PER_AD == 0) {//your condition for showing ad
            return 3;//replace 3 with the number of items in each row
        }
        return 1;
    }
});

然后将布局管理器设置为您的 recyclerview。