2013-10-21 55 views
0

我無法在Android應用上加載廣告,我給出了正確的ID,一切都正確。這是代碼無法在android中顯示廣告

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) 

回答

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代碼。 ..

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>