我正嘗試從Android SDK遷移到適用於Admob的Google Play服務。我在添加片段端的java代碼時遇到了問題。將AdMob Google Play服務添加到片段中
這是一個使用片段作爲製表符在XML佈局之間導航的活動。在過去,我能夠直接在XML佈局中添加所有admob信息。 Google服務要求您將其鏈接到java端。
它一直在崩潰,我不知道如何處理AdView與fragements。我正在考慮將其添加到Main.java中,但不確定TabListener如何處理AdView。
我需要一些幫助。
我已經做了以下項目:1, 谷歌添加Play服務庫到我的項目 2.我聲明在清單
<activity android:name="com.google.android.gms.ads.AdActivity" android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScr eenSize" />
<meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version" />
所有權限我有一個Main.java和TabListener到切換片段之間,但不知道如何將Adview XML鏈接到碎片。
它看不到片段中的視圖,並且它在Main.java中不起作用。
AdView adView = (AdView)this.findViewById(R.id.adView);
AdRequest adRequest = new AdRequest.Builder().build();
adView.loadAd(adRequest)
Main.java是我的主要。
public class Main extends Activity {
// Declare Tab Variable
ActionBar.Tab Tab1, Tab2, Tab3;
Fragment fragmentTab1 = new FragmentTab1();
Fragment fragmentTab2 = new FragmentTab2();
Fragment fragmentTab3 = new FragmentTab3();
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
ActionBar actionBar = getActionBar();
// Hide Actionbar Icon
// Set to False, we are not using icons
actionBar.setDisplayShowHomeEnabled(false);
// Hide Actionbar Title
// Set to False, used up too much space on phones
actionBar.setDisplayShowTitleEnabled(false);
// Create Actionbar Tabs
actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
// Set Tab Icon and Titles
// Titles are as follows below
Tab1 = actionBar.newTab().setText("Tab 1");
Tab2 = actionBar.newTab().setText("Tab 2");
Tab3 = actionBar.newTab().setText("Tab 3);
// Set Tab Listeners
Tab1.setTabListener(new TabListener(fragmentTab1));
Tab2.setTabListener(new TabListener(fragmentTab2));
Tab3.setTabListener(new TabListener(fragmentTab3));
// Add tabs to actionbar
actionBar.addTab(Tab1);
actionBar.addTab(Tab2);
actionBar.addTab(Tab3);
}
}
TabListener.java for switching between fragments.
public class TabListener implements ActionBar.TabListener {
Fragment fragment;
public TabListener(Fragment fragment) {
// TODO Auto-generated constructor stub
this.fragment = fragment;
}
@Override
public void onTabSelected(Tab tab, FragmentTransaction ft) {
// TODO Auto-generated method stub
ft.replace(R.id.fragment_container, fragment);
}
@Override
public void onTabUnselected(Tab tab, FragmentTransaction ft) {
// TODO Auto-generated method stub
ft.remove(fragment);
}
@Override
public void onTabReselected(Tab tab, FragmentTransaction ft) {
// TODO Auto-generated method stub
}
}
我的XML fragmentTab1爲例。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/LinearLayout1"
android:orientation="vertical"
android:background="@drawable/background1"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<com.google.android.gms.ads.AdView
xmlns:ads="http://schemas.android.com/apk/res-auto"
android:id="@+id/adView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
ads:adUnitId="@string/admob_string"
android:gravity="bottom"
ads:adSize="BANNER"/>
</LinearLayout>