android - 将 AdMob 原生广告放入 listView

标签 android listview admob ads

我想在我的应用中使用新的 AdMob 原生广告功能。我想在 listView 中放置一个原生广告,其中列表中每 20 个左右的项目就是一个广告。是否可以通过 Native Express Ad 实现这一目标?还是我必须使用 Natve Advanced Ad?

最佳答案

嗯,@Jagjit 展示了正确的方法。我会一步一步写的
1. 创建您自己的自定义适配器(通过扩展 BaseAdapter),它将显示为 ListView 项
2. 创建另一个用于显示原生广告的布局资源文件(设计应类似于在上述步骤中创建的自定义适配器)
3. 在 getView 方法中执行如下操作(用于在第 2 个位置显示广告)

if (position == 1) {
    rowView = inflater.inflate(R.layout.native_ad_adapter, null);
    NativeExpressAdView adView = (NativeExpressAdView)rowView.findViewById(R.id.adView);
    AdRequest adRequest = new AdRequest.Builder().build();
    adView.loadAd(adRequest);
} else {
    rowView = inflater.inflate(R.layout.my_custom_list, null);
    TextView bigtxt = (TextView) rowView.findViewById(R.id.txt1);
    ...
    ...
}

这里您的自定义适配器是 my_custom_list
您会看到广告正在加载。但是有一个小问题,位置1的list的实际item不会显示。
4. 为此,在填充 ListView 之前向列表添加一个额外的项目。我使用了 ArrayList 所以我可以很容易地做到这一点。我的做法如下

arrayList1.add(1,"ad here");
listview1.setAdapter(new MyAdapter(callerView.getContext(), arrayList1.toArray(new String[arrayList1.size()])));

关于android - 将 AdMob 原生广告放入 listView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37578798/

相关文章:

android - 使用 Admob 强制关闭

android - 如何获取开始动画的 View 对象......?

android - 如何通过单击列表项转到特定 Activity ?

listview - Flutter 在 ListView 中显示 GridView

Android 自定义 ListView ,setOnItemSelectedListener 不工作

android - AdMob + startapp 在 android 中?

android - 在同一 View 中使用常规 Admob + 自定义发布者

android - 在首选项前添加图标

java - 如何将以前的列表数据添加到android中的新列表中

android - 获取android google play评论的API(获取设备名称和应用版本)