Объявление Android Admob не отображается в действии с фрагментом. Почему?

У меня есть деятельность следующим образом. Я запускаю его внутри другого действия, используя setContentView(R.layout.below); Однако below.xml содержит пейджер (который является фрагментом и имеет собственное текстовое представление, веб-просмотр и т. д.). Моя проблема заключается в том, что блок Google Ads отображается в графическом макете Eclipse, и при запуске кода Java, показанного ниже, НЕ возникает ошибка; НЕ МОГУ посмотреть рекламу. Я не понимаю, что происходит! Я пробовал так много вещей, включая изменение этого макета на простой относительный макет. Вот как я называю это adView.

    setContentView(R.layout.below);
    AdView mAdView2 = (AdView) findViewById(R.id.adView2);
    AdRequest adRequest2 = new     
    AdRequest.Builder().addTestDevice(AdRequest.DEVICE_ID_EMULATOR).build();
            mAdView2.loadAd(adRequest2);

Это фактический XML-файл, содержащий этот adView.

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:ads="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:paddingLeft="5dp"
    android:paddingRight="5dp" >

    <LinearLayout
        android:id="@+id/home_layout"
        android:layout_width="fill_parent"
        android:layout_height="match_parent"
        android:orientation="vertical"
        android:layout_above="@+id/footerLayout">
    <android.support.v4.view.ViewPager
        android:id="@+id/pager"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" >
    </android.support.v4.view.ViewPager>

    </LinearLayout>
    <LinearLayout
            android:id="@+id/footerLayout"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal"
            android:gravity="bottom"
            android:layout_centerHorizontal="true"
            android:layout_alignParentBottom="true"
            >
    <com.google.android.gms.ads.AdView
        android:id="@+id/adView2"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_marginBottom="0dp"
        ads:adSize="SMART_BANNER"
        ads:adUnitId="@string/banner_ad_unit_id" >
    </com.google.android.gms.ads.AdView>
    </LinearLayout>


</RelativeLayout>

person Zac1    schedule 28.09.2015    source источник
comment
fill_parent устарел. предпочитаю match_parent   -  person Prachi    schedule 28.09.2015


Ответы (2)


попробуйте удалить дополнение RelativeLayout, это также происходит с моим приложением, но оно заработало после удаления заполнения

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:ads="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:paddingLeft="5dp"   <--- REMOVE
    android:paddingRight="5dp" > <--- REMOVE

если вы должны использовать отступ, добавьте его в родительский макет рекламного объявления, чтобы он был на LinearLayout

person XDProgrammer    schedule 28.09.2015
comment
Как ни странно, это сработало. Спасибо. Вы знаете, почему это происходит? Кроме того, проверьте мой другой вопрос, если можете: stackoverflow.com/questions/32810527/ - person Zac1; 28.09.2015
comment
adview, по-видимому, не допускает заполнения, вероятно, это установлено Google таким образом... - person XDProgrammer; 29.09.2015
comment
да, проблема была в заполнении родительского макета. Спасибо - person ikosdroid; 24.05.2017

Дайте некоторую высоту для просмотра рекламы, ее высота зависит от размера экрана устройства, она может быть 50dp, 120dp.

используйте это, если ничего не произойдет, пожалуйста, установите другой размер и попробуйте еще раз

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout
    android:id="@+id/home_layout"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:layout_above="@+id/footerLayout">
<android.support.v4.view.ViewPager
    android:id="@+id/pager"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content" >
</android.support.v4.view.ViewPager>

</LinearLayout>
<LinearLayout
        android:id="@+id/footerLayout"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal"

        android:layout_centerHorizontal="true"
        android:layout_alignParentBottom="true"
        >
<com.google.android.gms.ads.AdView
    android:id="@+id/adView2"
    android:layout_width="match_parent"
    android:layout_height="80dp"
    android:layout_marginBottom="0dp"
    ads:adSize="SMART_BANNER"
    ads:adUnitId="@string/banner_ad_unit_id" >
</com.google.android.gms.ads.AdView>
</LinearLayout>

person Ashish Agrawal    schedule 28.09.2015