Как добавить AdView из AdMob в ListView

1

Я смущен тем, как сделать adview из admob работать со списком. Я новичок в рекламе и только что закончил базовое учебное пособие, но теперь попытаюсь включить в свое приложение. У меня есть некоторые комментарии, которые я пытался сделать для начала.

        // Create the adView
    AdView adView = new AdView(this, AdSize.BANNER, myID);
    // Lookup your LinearLayout assuming it’s been given
    // the attribute android:id="@+id/mainLayout"
   // LinearLayout layout = (LinearLayout)findViewById(R.id.linearLayout);
    // Add the adView to it
    lv.addView(adView);
    // Initiate a generic request to load it with an ad
    adView.loadAd(new AdRequest());

<TextView android:id="@+id/itemName" android:layout_width="wrap_content"
    android:layout_height="50dip" android:text="Test view" 
    android:textSize = "25sp"
    android:singleLine = "true"/>

04-01 19: 28: 58.163: ОШИБКА /AndroidRuntime (421): FATAL EXCEPTION: main 04-01 19: 28: 58.163: ОШИБКА /AndroidRuntime (421): java.lang.RuntimeException: невозможно запустить активность ComponentInfo {org.demo.textaway2/org.demo.textaway2.TextAway2}: java.lang.UnsupportedOperationException: addView (View) не является поддерживается в AdapterView 04-01 19: 28: 58.163: ERROR/AndroidRuntime (421): при android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2663) 04-01 19: 28: 58.163: ОШИБКА /AndroidRuntime (421): при android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679) 04-01 19: 28: 58.163: ОШИБКА /AndroidRuntime (421): при android.app.ActivityThread.access $2300 (ActivityThread.java:125) 04-01 19: 28: 58.163: ОШИБКА /AndroidRuntime (421): при android.app.ActivityThread $H.handleMessage(ActivityThread.java:2033) 04-01 19: 28: 58.163: ОШИБКА /AndroidRuntime (421): при android.os.Handler.dispatchMessage(Handler.java:99) 04-01 19: 28: 58.163: ОШИБКА /AndroidRuntime (421): при android.os.Looper.loop(Looper.java:123) 04-01 19: 28: 58.163: ERROR/AndroidRuntime (421): при android.app.ActivityThread.main(ActivityThread.java:4627) 04-01 19: 28: 58.163: ОШИБКА /AndroidRuntime (421): при java.lang.reflect.Method.invokeNative(собственный метод) 04-01 19: 28: 58.163: ОШИБКА /AndroidRuntime (421): при java.lang.reflect.Method.invoke(Method.java:521) 04-01 19: 28: 58.163: ERROR/AndroidRuntime (421): при com.android.internal.os.ZygoteInit $MethodAndArgsCaller.run(ZygoteInit.java:868) 04-01 19: 28: 58.163: ОШИБКА /AndroidRuntime (421): при com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626) 04-01 19: 28: 58.163: ОШИБКА /AndroidRuntime (421): при dalvik.system.NativeStart.main(родной метод) 04-01 19: 28: 58.163: ERROR/AndroidRuntime (421): вызвано: java.lang.UnsupportedOperationException: addView (View) не является поддерживается в AdapterView 04-01 19: 28: 58.163: ERROR/AndroidRuntime (421): при android.widget.AdapterView.addView(AdapterView.java:435) 04-01 19: 28: 58.163: ОШИБКА /AndroidRuntime (421): при org.demo.textaway2.TextAway2.onCreate(TextAway2.java:164) 04-01 19: 28: 58.163: ОШИБКА /AndroidRuntime (421): при android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047) 04-01 19: 28: 58.163: ОШИБКА /AndroidRuntime (421): при android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627) 04-01 19: 28: 58.163: ERROR/AndroidRuntime (421):... еще 11

  • 0
    <? xml version = "1.0" encoding = "utf-8"?> <LinearLayout xmlns: android = " schemas.android.com/apk/res/android " android: id = "@+id/itemName" + id / linearLayout" android: layout_width = "fill_parent" android: layout_height = "wrap_content" android: ориентация = "горизонтальный" android: paddingLeft = "5dp" android: paddingRight = "5dp"> <TextView android: id = "@+id/itemName" + id / itemName" android: layout_width = "wrap_content" android: layout_height = "50dip" android: text = "Тестовое представление" android: textSize = "25sp" android: singleLine = "true" /> </ LinearLayout>
Теги:
admob

1 ответ

2

Трассировка стека включает в себя следующее:

addView(View) is not supported in AdapterView

Что отвечает на ваш вопрос - вы не можете использовать AdMob в AdapterView или его подклассах, которые вы пытаетесь сделать. Вам нужно будет написать собственный класс View для рендеринга объектов списка, использовать другую рекламную службу (adwhirl и т.д. - возможно, другое не имеет этого ограничения) или переместить рекламные объявления вне списка, в нижний колонтитул/заголовок.

  • 0
    Это сообщение о методе addView , а не о виджете AdView предоставленном AdMob. Вы не можете добавить виджет любого типа в ListView, используя addView потому что вы должны использовать адаптер для возврата представлений, отображаемых списком, а не добавлять их явно. Вы можете отобразить виджет AdView в списке, написав адаптер, который возвращает экземпляр AdView из метода getView .

Ещё вопросы

Сообщество Overcoder
Наверх
Меню