我熟悉在我的应用中实现Admobs,但是我很难将代码从“活动”更改为“碎片”。
我收到了NullPointerException。我相信使用getView()可能会导致我的问题。
//CREATE BANNER ADD
private void createAdmobBanner()
{
// Create an ad.
adView = (com.google.android.gms.ads.AdView) getView()
.findViewById(R.id.adView);
AdRequest adRequest = new AdRequest.Builder()
// Add a test device to show Test Ads
.addTestDevice(AdRequest.DEVICE_ID_EMULATOR)
// .addTestDevice("B3827F13FB335337F4CA0F350B78A866")
.build();
// Load ads into Banner Ads
adView.loadAd(adRequest);
}
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:ads="http://schemas.android.com/apk/res-auto"
android:id="@+id/adViewHolder"
android:layout_width="fill_parent"
android:layout_height="@dimen/ad_bottom_height"
android:layout_marginTop="1dp"
android:gravity="center_vertical"
android:orientation="horizontal" >
<com.google.android.gms.ads.AdView
android:id="@+id/adView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
ads:adSize="SMART_BANNER"
ads:adUnitId="ca-app-pub-xxxx/xxxx"
/>
</LinearLayout>
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="@dimen/bottom_bar_height"
android:orientation="horizontal" >
<Button
android:id="@+id/button1"
android:text="Refresh Scores"
android:layout_height="wrap_content"
android:layout_width="fill_parent"
android:textSize="11dp"
android:layout_weight="1"
/>
注意:我使用... include layout =“@ layout / admob_ad”/&gt;在我的片段布局xml中。
09-24 22:04:02.429:E / AndroidRuntime(5375):java.lang.NullPointerException:尝试调用虚拟方法'void com.google.android.gms.ads.AdView.loadAd(com.google。在一个空对象引用上的'android.gms.ads.AdRequest)' 09-24 22:04:02.429:E / AndroidRuntime(5375):at info.androidhive.slidingmenu.ChampionsFragment.createAdmobBanner(ChampionsFragment.java:391)
答案 0 :(得分:0)
当我在资源文件中仔细检查时,我遇到了类似的问题 我的活动有两个资源文件:
\res\layout\activity_main_lauch.xml
\res\layout-v21\activity_main_lauch.xml
我正在修改单个文件,因此它抛出了错误。当我在两个文件中应用更改时,它开始工作。