我想在我的应用中使用新的 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/