0

Android アプリで広告を読み込めません。適切な ID を指定しましたが、すべてが正しいです。これがコードです

public class MainActivity extends Activity {

private static final String MY_BANNER_UNIT_ID = "a15264b25a5a98c";

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    RelativeLayout layout = (RelativeLayout)findViewById(R.id.rel);
    AdView adView = new AdView(this, AdSize.BANNER, MY_BANNER_UNIT_ID);
    layout.addView(adView);
    AdRequest request = new AdRequest();
    request.setTesting(true);
    adView.loadAd(request);

}
}

XMLファイルは

<com.example.advertise.AdView
xmlns:googleads="http://schemas.android.com/apk/lib/com.google.ads"
android:id="@+id/ad"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
googleads:adSize="BANNER"
googleads:adUnitId="a15264b25a5a98c" 
/>

私が得ているエラーは

10-21 11:51:15.194: E/AndroidRuntime(8556): FATAL EXCEPTION: main

10-21 11:51:15.194: E/AndroidRuntime(8556): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.androidadvertising/com.example.androidadvertising.MainActivity}: android.view.InflateException: Binary XML file line #12: Error inflating class com.example.advertise.AdView

10-21 11:51:15.194: E/AndroidRuntime(8556): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1956)

10-21 11:51:15.194: E/AndroidRuntime(8556): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1981)
4

2 に答える 2

1

これを試してください。レイアウトインフレータを使用すると、それが得られます

public class MainActivity extends Activity {

 private static final String MY_BANNER_UNIT_ID = "a15264b25a5a98c";

 @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

RelativeLayout layout = (RelativeLayout)findViewById(R.id.rel);
//Try this
LayoutInflater li = LayoutInflater.from(YourActivity.this);
View v = li.inflate(R.layout.youraddmoblayout,null,false);


layout.addView(v);
AdRequest request = new AdRequest();
request.setTesting(true);
adView.loadAd(request);

}
}

Youraddmoblayout.xml はこのように

  <com.google.ads.AdView
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/adView"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentTop="true"
    android:layout_centerHorizontal="true"
    ads:adSize="BANNER"
    ads:adUnitId="@string/adMob"
    ads:loadAdOnCreate="true" >
</com.google.ads.AdView>
于 2013-10-21T06:34:55.900 に答える
1

この行を XML ファイルのメイン レイアウトに追加します。

xmlns:ads="http://schemas.android.com/apk/lib/com.google.ads

<com.google.ads.AdView
        android:id="@+id/adView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true"
        ads:adSize="BANNER"
        ads:adUnitId="@string/adMob" <--YOUR ID HERE
        ads:loadAdOnCreate="true" >
    </com.google.ads.AdView>

そして、この行をAndroidManifeast.xmlに追加します

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

Javaコードは必要ありません...

于 2013-10-21T06:36:05.917 に答える