问题描述
我试图让admob在我的应用上正常工作,但是每次我将此代码添加到MainAcitvity.java中时:
AdView mAdView = (AdView) findViewById(R.id.adView);
AdRequest adRequest = new AdRequest.Builder().build();
mAdView.loadAd(adRequest);
当我运行该应用程序时,该应用程序立即崩溃。 我的应用是一个DrawerLayout,其中包含4个不同的片段,每个片段都包含自己的广告。 我已经为广告添加了与其他应用程序中完全相同的代码,在此应用程序上可以正常工作。
日志猫说:
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void com.google.android.gms.ads.AdView.loadAd(com.google.android.gms.ads.AdRequest)' on a null object reference
at test.testapp.MainActivity.onCreate(MainActivity.java:110)
at android.app.Activity.performCreate(Activity.java:6010)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1129)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2292)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2413)
at android.app.ActivityThread.access$800(ActivityThread.java:155)
at
android.app.ActivityThread$H.handleMessage(ActivityThread.java:1317)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5343)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:905)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:700)
1楼
它崩溃了
mAdView.loadAd(adRequest);
那意味着
AdView mAdView = (AdView) findViewById(R.id.adView);
在您的XML布局中找不到ID为adView
的组件。
确保您的XML布局中有一个ID为adView
的AdView。
2楼
我面临类似的问题。 我的问题是单项活动。 因此,对于我来说,当我仔细检查资源文件时,我的活动有两个资源文件:
\\水库\\布局\\ activity_main_lauch.xml
\\水库\\布局-V21 \\ activity_main_lauch.xml
我正在修改单个文件,因此它抛出错误。 当我在两个文件中应用更改时,它开始工作。 希望它会有所帮助。
3楼
就我而言,我有两种同名的布局:一种用于第23版,另一种用于一般。 第一个是R.id.adView,第二个是缺席。 因此,我刚刚删除了第23版,它开始正常工作