Поскольку вы заявили, что
layout.addView(adView);
выдает исключение NullPointerException, наиболее вероятно, что
findViewById(R.layout.main);
вернул null
, а layout
сохраняет это в строках ниже.И это действительно так.Вы используете R.layout.main
, который является ссылкой на макет.Вам нужен идентификатор, следовательно, findViewById () - так что в этом случае он никогда не будет работать.
Итак, чтобы это работало, вам нужно две вещи:
Сначала вам нужно назначить идентификатор для LinearLayout.Я предполагаю, что предполагаемый является внешним в listplaceholder.xml, и у него еще нет идентификатора.Добавьте атрибут android:id
xml, в конце он должен выглядеть следующим образом:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:id="@+id/container">
Во-вторых, измените приведенный выше оператор findViewById (), чтобы найти правильный идентификатор
findViewById(R.id.container);
Это должно привести к правильно назначенному макету внутри layout
.