对于列表活动的混淆令我困惑

时间:2012-06-07 20:11:11

标签: android admob listactivity

我正在尝试将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);

但它无济于事

请....任何帮助?或一步一步的教程。

1 个答案:

答案 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);