android - UnifiedNativeAd 的号召性用语按钮在 RecyclerView 内不起作用
问题描述
我在 RecyclerView 中展示了一组统一的原生广告。实际上,我对此没有任何问题。我的意思是,一切正常,除了号召性用语按钮。如果我点击它,什么也不会发生。
我将unifiedNativeAds 集合存储在dataSet 中(获取此集合没有问题)。然后我通过 onBindViewHolder 方法(来自我的 RecyclerView Adapter)将每个统一的NativeAd 传递给 Google 提供的 TemplateView:
public void onBindViewHolder(@NonNull RecyclerView.ViewHolder vholder, int i) {
int type = getItemViewType(i);
final UnifiedNativeAdViewHolder unifiedNativeAdViewHolder;
UnifiedNativeAd unifiedNativeAd = (UnifiedNativeAd)dataSet.get(i);
unifiedNativeAdViewHolder = (UnifiedNativeAdViewHolder)vholder;
NativeTemplateStyle styles = new NativeTemplateStyle.Builder().build();
unifiedNativeAdViewHolder.templateView.setStyles(styles);
unifiedNativeAdViewHolder.templateView.setNativeAd(unifiedNativeAd);
}
这是我的 UnifiedNativeAdViewHolder:
public class UnifiedNativeAdViewHolder extends RecyclerView.ViewHolder {
private UnifiedNativeAdView adView;
TemplateView templateView;
public UnifiedNativeAdViewHolder(@NonNull View view) {
super(view);
adView = view.findViewById(R.id.native_ad_view);
adView.setHeadlineView(adView.findViewById(R.id.primary));
adView.setBodyView(adView.findViewById(R.id.secondary));
adView.setCallToActionView(adView.findViewById(R.id.cta));
adView.setIconView(adView.findViewById(R.id.icon));
adView.setStarRatingView(adView.findViewById(R.id.rating_bar));
adView.setStoreView(adView.findViewById(R.id.tertiary));
adView.setAdvertiserView(adView.findViewById(R.id.tertiary));
templateView = view.findViewById(R.id.my_template);
}
public UnifiedNativeAdView getAdView(){
return adView;
}
}
如前所述,我的代码有效,所有统一的NativeAd 都显示在 RecyclerView 中。但是,唯一不起作用的是号召性用语按钮。如果我点击它,什么也不会发生。
我在 RecyclerView 之外尝试了基本相同的代码,它工作得很好。
有什么想法或建议吗?谢谢你。
---- 额外信息 -----
如果我使用 gnt_medium_template_view 一切都很好。但是,使用 gnt_small_template_view 却没有。因此,问题似乎与模板本身有关。
解决方案
推荐阅读
- ios - scrollView 在 .sheet 中超出其边界
- ruby - 将“活动”类添加到菜单不适用于 _data 文件夹中的文件 - jekyll
- python - Why am I getting AttributeError: 'function' object has no attribute 'oracleCreate'?
- unity3d - Unity 的粒子系统为精灵创建背景
- netsuite - Netsuite:如何确定需要“按需”补货的产品和数量?
- android - Android Studio 安装 Android SDK
- c++ - 如何在类中声明内联静态成员?
- vim - 如何在 CentOS 8 上获取 ncurses 库的路径?
- python - 根据实际 cumsum 的结果跳过行或在条件上设置固定值时的 Cumsum 列
- python - lxml 命名空间多次定义