我正在尝试将admob设置为我的listactivity的标题 在我的listactivity中,我使用它来设置列表:
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,R.layout.listview, values);
和(R.layout.listview)只有这个:
<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:padding="10dp"
style="@style/Font"
android:gravity="right" >
</TextView>
它工作正常,然后我添加这个来设置admob:
adView = new AdView(this, AdSize.BANNER, "xxxxxxx");
LinearLayout layout = (LinearLayout)findViewById(R.id.mainLayout);
layout.addView(adView);
adView.loadAd(new AdRequest());
但它给了我一个错误
我真的很困惑!
我尝试将adView设置为标题:
lv.addHeaderView(adView, null, false);
但它无济于事
请....任何帮助?或一步一步的教程。
答案 0 :(得分:1)
您遇到了崩溃,因为LinearLayout layout = (LinearLayout)findViewById(R.id.mainLayout);
正在尝试在您的xml文件中找到ID为mainLayout
且不存在的LinearLayout元素。
在ListView中嵌入广告有点复杂。您需要编写自己的ListAdapter来支持广告。您可以从此AdMobListAdapter示例中获取大量内容,该示例包含数组适配器并每10个列表项嵌入广告。使用上面的示例链接,您的调用代码看起来像this(在下面发布以供参考):
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,R.layout.listview, values);
AdMobListAdapter adMobAdapter = new AdMobListAdapter(this, arrayAdapter);
setListAdapter(adMobAdapter);