android - 如何在 RecyclerView 中实现 Admob Native 广告?

标签 android android-recyclerview admob

我尝试按照 google 的教程进行操作,但效果不佳。我的 RecyclerViewAdapter 有错误。

错误如下 RecyclerViewAdapter。 (在第 9 行评论)

@Override
public void onBindViewHolder(final RecyclerViewHolder holder, final int position) {

int viewType = getItemViewType(position);

switch (viewType){

    case AD_VIEW_TYPE:
        NativeExpressAdViewHolder nativeExpressHolder = (NativeExpressAdViewHolder)holder;
        NativeExpressAdView adView = (NativeExpressAdView)arrayList.get(Position); //Inconvertible types; cannot cast 'app.modals.cardSetterGetter' to 'com.google.android.gms.ads.NativeExpressAdView

        ViewGroup adCardView = (ViewGroup)nativeExpressHolder.itemView;
        adCardView.removeAllViews();

        if(adView.getParent() != null){
            ((ViewGroup)adView.getParent()).removeView(adView);
        }

        adCardView.addView(adView);
        break;

    case MENU_ITEM_VIEW_TYPE:

    default:
        String card_image;
        CardSetterGetter cardSetterGetter;
        cardSetterGetter = arrayList.get(position);

        card_image = constants.SERVERIP.concat(cardSetterGetter.getImageurl());
        holder.cardSetterGetter = cardSetterGetter;
        holder.title.setText(cardSetterGetter.getImagetitle()); //set title

        cardSetterGetter.getTag();

        PointF focusPoint = new PointF(0.5f, 0f);
        // your app populates the focus point

        holder.image // set image
                .getHierarchy()
                .setActualImageFocusPoint(focusPoint);
        holder.image.setImageURI(Uri.parse(card_image));
}

}

最佳答案

  1. 您不应将 View 添加到 listItems . listItems包含项目,而不是 View 。

  2. NativeExpressAdViewHolder应该扩展 RecyclerViewHolder .

  3. holder.getPosition()是一个位置,而不是一个 adView。它不能转换为 NativeExpressAdView .

  4. 如果您仍想在项目列表中保留 adView,您应该更改项目列表的类型,如示例中所述。 private final List<Object> mRecyclerViewItems;

不是List<app.appname.CardSetterGetter>

关于android - 如何在 RecyclerView 中实现 Admob Native 广告?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46477547/

相关文章:

android - 从ImageView中获取图片的文件路径

android - 如何在android中为android中的所有 Activity 创建一个通用的自定义状态栏?

java - 鼓励Admob点击违反TOS?

android - Admob 与 android 非市场

android - AIDE OpenGL es 2.0 三角形无法渲染

android - Activity 的 onCreate 中出现 NullPointerException

java - 回收站 View : keep changing data during scroll

java - 在 RecyclerView Adapter 中使用 onActivityResult

android - 如何使用字符串值从适配器中的Mysql设置imageview

java - 无法导入 com.google.android.gms :play-services-ads:17. 1.1