1

所以我只是将我的 AdMob .jar 文件集成到我的项目中。当我将 AdMob 文档中的一些代码写入我的项目时:

// Create the adView
        adView = new AdView(this, AdSize.BANNER,
                "MY-ID");

        // Lookup your LinearLayout assuming it's been given
        // the attribute android:id="@+id/mainLayout"
        LinearLayout layout = (LinearLayout) findViewById(R.id.mainLayout);

        // Add the adView to it
        layout.addView(adView);

        // Initiate a generic request to load it with an ad
        adView.loadAd(new AdRequest());

当我向我的 AndroidManifest.xml 添加所需的权限时:

<activity
            android:name="com.google.ads.AdActivity"
            android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize" />

最后,我在 main_activity.xml 中添加了实际的广告横幅:

<LinearLayout
        xmlns:ads="http://schemas.android.com/apk/lib/com.google.ads"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:orientation="vertical"
        android:id="@+id/mainLayout" >

        <com.google.ads.AdView
            android:id="@+id/adView"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            ads:adSize="BANNER"
            ads:adUnitId="MY-ID"
            ads:loadAdOnCreate="true" >
        </com.google.ads.AdView>

    </LinearLayout>

但这有一个问题。在我的实际布局预览中,它只显示一个广告,但是当我在我的设备上启动我的应用程序时,我得到了两个广告横幅。也许有人会知道这有什么问题?

4

1 回答 1

1

这是因为activity layout preview不显示或处理java file. 就像您在 中更改背景一样,class您将不会在layout preview.

// Create the adView
        adView = new AdView(this, AdSize.BANNER,
                "MY-ID");

        // Lookup your LinearLayout assuming it's been given
        // the attribute android:id="@+id/mainLayout"
        LinearLayout layout = (LinearLayout) findViewById(R.id.mainLayout);

        // Add the adView to it
        layout.addView(adView);

        // Initiate a generic request to load it with an ad
        adView.loadAd(new AdRequest());

adView您正在添加的这段代码class,它完成了,它被添加了。

<com.google.ads.AdView
    android:id="@+id/adView"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    ads:adSize="BANNER"
    ads:adUnitId="MY-ID"
    ads:loadAdOnCreate="true" >
</com.google.ads.AdView>

adView然后在这里你在你的 中添加另一个xml,所以layout preview会显示它。

所以现在你有两个 adViews. 一个你设置在你的class,另一个在你的xml.


如果您只想显示一个,您可以删除其中一个,如果您想同时显示并在您的 中显示,请layout preview删除您的 中的一个java class,然后添加另一个xml

于 2013-11-06T18:32:44.453 回答