2011-08-17 57 views
1

我有幾個應用程序正在使用哪些使用常見的XML界面元素。其中一個元素加載AdMob。我可以在每個項目中複製元素,並將每個應用程序的唯一ID置於複製的XML文件中,但我想知道是否有某種方法可以通過編程方式從應用程序中設置ID字符串,同時保持XML而不必複製它在每個項目中。以編程方式設置AdMob ID字符串

一種近乎:

setContentView(R.layout.main); 
    AdView aView = (AdView)findViewById(R.id.admob); 
    aView.<method goes here that sets ads:adUnitId> 

我知道,而不是從XML實例AdMob,我能做到這一點編程,或者說我可以複製main.xml到每個項目並修改ID在那兒,而不是使用我的圖書館中的一個。但我會更喜歡一個類似於我的示例代碼的解決方案,該解決方案允許我將AdMob代碼保存在main.xml中,並且在更改時不會讓我在n個位置更新main.xml

我一直無法找到AdMob附帶的可交付成果的類參考或完整描述,並且自動完成並未顯示任何似乎符合此需求的方法。如果有人給我指出一個對AdMob類有很好描述的地方,那將是一個很好的幫助。

回答

5

設置一個空的佔位符視圖(ListView的這個例子),用於AdView的在你的XML,然後以編程方式添加AdView的在Java中,是這樣的:

ListView lv = (ListView)findViewById(R.id.adplaceholder); 

//create the AdView (replace MY_BANNER_UNIT_ID with the admob ID of your choice) 
AdView av = new AdView(this, AdSize.BANNER, MY_BANNER_UNIT_ID); 
lv.addView(av);//add the AdView to your layout 

AdRequest request = new AdRequest(); 
adView.loadAd(request); 
4

我下面

  1. 在您的庫項目中,在string.xml中添加一個值爲「」的元素,表示adUnitId。

    <string name="ad_unit_id"></string>` 
    
  2. 在佈局插入帶有

    ads:adUnitId="@string/ad_unit_id"` 
    
  3. AdView的在你的其他項目(S)在string.xml添加相同的元素與當前adUnitId設置

    <string name="ad_unit_id">XXXXXXXXXXXXXXXXX</string>` 
    

享受:)

+0

我做了同樣的事情,它爲我的第一個項目工作,但第二個沒有。我不知道爲什麼 – Silentbang

+0

它總是提出警告「失敗進入...在包...」 – Silentbang

相關問題