【发布时间】:2016-08-25 01:14:46
【问题描述】:
我在 Android 中实现了一个适配器,用于将 Admob 原生广告添加到 LivtView 对象中。这是一个简单的解决方案,它工作正常,但滚动列表视图时原生广告闪烁。当我的手指从屏幕上抬起时,实际上会发生闪烁 - 而列表正在滚动,原生广告滚动时没有闪烁。
我这样做的方法是在同一个适配器中插入常规列表视图项和原生广告 - 我跟踪插入原生广告的位置并在后台加载原生广告 - 在加载广告之前,我在适配器中插入一个虚拟视图;在加载每个广告时,我将虚拟视图替换为原生广告。在 getView 上,我检查要绘制的项目是否是原生广告,如果是,我会膨胀一个虚拟 LinearLayout 视图并执行以下操作以向其中添加原生广告(如果已加载):
((ViewHolder) holder).layout.removeAllViews();
((ViewHolder) holder).layout.addView(view);
有没有简单的解决方法?我在使用 RecyclerView 时看到过类似情况的解决方案,但我还没有找到解决方案。
【问题讨论】:
-
我建议原生 admob 不是明智的选择,对于 feed 广告使用 NativeExpress Ads,您还需要切换到 RecyclerView 以更好地控制您的可回收内容。