2012-06-07 4 views
0

я пытаюсь установить AdMob в качестве заголовка к моей listactivity в моем listactivity я использую это для установки списка:AdMob в 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()); 

номе t это дало мне ошибку

Я действительно смущен!

я попытался это установить AdView как заголовок:

lv.addHeaderView(adView, null, false); 

, но это не помогает

пожалуйста .... любая помощь? или пошаговое руководство.

+0

Что делает макет вашей деятельности, которая содержит список просмотра выглядеть? Имеет ли он LinearLayout с id 'mainLayout'? –

+0

нет ... у него есть только текст выше – majed

ответ

1

Вы столкнулись с сбоем, потому что LinearLayout layout = (LinearLayout)findViewById(R.id.mainLayout); пытается найти элемент LinearLayout в вашем XML-файле с идентификатором mainLayout и его не существует.

Встраивание объявлений в ListView немного сложно. Вам нужно будет написать собственный ListAdapter для поддержки объявлений. Вы можете сильно извлечь из этого примера AdMobListAdapter, который берет в ваш адаптер массива и вставляет объявления каждые 10 элементов списка. Используя пример ссылки выше, ваш вызывающий код будет выглядеть this (отправил ниже для справки):

ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,R.layout.listview, values); 
AdMobListAdapter adMobAdapter = new AdMobListAdapter(this, arrayAdapter); 
setListAdapter(adMobAdapter); 
+0

Почему я не могу просто использовать что-то вроде этого: lv.addHeaderView (adView, null, false); – majed

+0

Какой тип объекта 'lv'? Я не вижу, чтобы вы определяли его где-нибудь в своем коде выше? –

+0

ListView lv = getListView(); – majed

Смежные вопросы