Я пытаюсь добавить 1 adView для 10 элементов данных в gridview (например, с 36 элементами данных будет отображаться 3 adview).
Вид сетки:
<GridView
android:id = "@+id/gridview_university"
android:layout_width = "match_parent"
android:layout_height = "0dp"
android:layout_weight = "1"
android:clickable = "false"
android:fastScrollEnabled = "false"
android:horizontalSpacing = "5dp"
android:padding = "8dp"
android:scrollbars = "vertical"
android:verticalSpacing = "11dp" />
сначала попробуйте с файлом (uni_listview_ads.xml) но не работает и показывает (отсутствовал обязательный атрибут XML "adSize") сообщение
<LinearLayout xmlns:android = "http://schemas.android.com/apk/res/android"
xmlns:app = "http://schemas.android.com/apk/res-auto"
android:layout_width = "match_parent"
android:layout_height = "match_parent"
android:layout_marginBottom = "2dp"
android:layout_marginTop = "2dp"
android:layout_weight = "1"
android:gravity = "center"
android:orientation = "vertical">
<com.google.android.gms.ads.AdView
xmlns:ads = "http://schemas.android.com/apk/res-auto"
android:id = "@+id/adViewUniver"
android:layout_width = "wrap_content"
android:layout_height = "wrap_content"
android:layout_gravity = "center"
/>
Внутри метода общедоступный View getView (позиция int, View convertView, родитель ViewGroup)
View myView = inflater.inflate(R.layout.uni_listview_ads, null);
AdView ads = (AdView) myView.findViewById(R.id.adViewUniver);
ads.setAdSize(AdSize.BANNER);
ads.setAdUnitId(getUnitID());
AdRequest adRequest = new AdRequest.Builder().build();
ads.loadAd(adRequest);
return myView;
После того, как все попытки потерпели неудачу, я заменил их все кодом
View getAd() {
AdView mAdView;
LinearLayout layout = new LinearLayout(mContext);
layout.setOrientation(LinearLayout.VERTICAL);
layout.setGravity(Gravity.CENTER);
mAdView = new AdView(mContext);
mAdView.setAdSize(AdSize.BANNER);
mAdView.setAdUnitId(getUnitID());
// Create an ad request.
AdRequest adRequestBuilder = new AdRequest.Builder().build();
// Optionally populate the ad request builder.
layout.addView(mAdView);
mAdView.loadAd(adRequestBuilder);
return layout;
}
Вот просто я поместил эту строку в метод общедоступный View getView (позиция int, View convertView, родитель ViewGroup)
return getAd();
Результат:
Сообщение Первая попытка : show (отсутствовал обязательный атрибут XML "adSize")
вторая попытка: работает, но adView исчезает, когда я прокручиваю вниз и обратно вверх.
эта отсрочка от того, что я хочу, но я нашел решение
проверьте это stackoverflow.com/a/20741847/9287163