Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/347.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 由于实施Admob ads,活动无法启动_Java_Android_Admob - Fatal编程技术网

Java 由于实施Admob ads,活动无法启动

Java 由于实施Admob ads,活动无法启动,java,android,admob,Java,Android,Admob,我一直在尝试制作一个带有广告的消息应用程序,当应用程序在实现AdMob时崩溃。不知道为什么应用程序会崩溃,但我怀疑可能与其他现有代码冲突。下面的代码有什么问题吗 爪哇: 日志类别: 致命异常:主 流程:comdanishansogning.wixsite.httpshobojuniors.danishansgning,PID:3879 java.lang.RuntimeException:无法启动活动组件信息{comdanishansogning.wixsite.httpshobojuniors

我一直在尝试制作一个带有广告的消息应用程序,当应用程序在实现AdMob时崩溃。不知道为什么应用程序会崩溃,但我怀疑可能与其他现有代码冲突。下面的代码有什么问题吗

爪哇:

日志类别:

致命异常:主 流程:comdanishansogning.wixsite.httpshobojuniors.danishansgning,PID:3879 java.lang.RuntimeException:无法启动活动组件信息{comdanishansogning.wixsite.httpshobojuniors.danishaninging/comdanishansogning.wixsite.httpshobojuniors.danishaninging.MainActivity}:java.lang.NullPointerException:尝试调用虚拟方法'void com.google.android.gms.advisew.loadAd(com.google.android.gms.ads.adrquest)'在空对象引用上

舱单:

<meta-data
    android:name="com.google.android.gms.version"
    android:value="@integer/google_play_services_version" />
      <activity android:name="com.google.android.gms.ads.AdActivity"
            android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"
            android:theme="@android:style/Theme.Translucent" />

Xml:


请检查您是否在清单文件中定义了活动。

如评论中所述,您正在膨胀错误的XML布局文件。在代码中:

@Override
protected void onCreate(Bundle savedInstanceState) {
   super.onCreate(savedInstanceState);
   setContentView(R.layout.activity_main);
   ...
}
您正在膨胀文件
res/layout/activity\u main.xml
。要充气
res/layout/activity\u register.xml
,请将
setContentView
更改为:

setContentView(R.layout.activity_register);

对于第二个问题,您的布局中没有定义
RecyclerView
。添加一个

<android.support.v7.widget.RecyclerView
    android:id="@+id/messageRec"
    android:layout_width="match_parent"
    android:layout_height="match_parent"/>


你能发布
activity\u main.xml
吗?这里的activity\u main.xml可能是重复的,我使用另一个activity而不是activity\u main,这会造成问题吗?你能添加它吗?如果Pastebin出现故障,那么这个问题在将来对其他人没有用处。我也不太确定NullPointerException,但是问题可能在于AdMob的实施。。。有了新的更新,我不确定我是否正确地编写了代码该活动可能已经在清单中定义,因为活动进程使其通过了
super.onCreate()
。当引用
adView
时,它是一个
NullPointerException
,因此
R.id.adView
不存在于
R.layout.activity\u main
中。需要等待OP澄清细节。是的,我确实定义了活动,但没有包括在内。我确实查看了《快速入门指南》,尽管结果仍然一样……主要问题是您的项目无法获取活动上下文。@HiteshManwani问题是OP扩大了错误的布局。请参阅上面我的答案。我尝试使用您建议的编辑来扩展正确的XML布局文件,但是由于尝试调用虚拟方法void android.support.v7.widget.RecyclerView.setHasFixedSize(布尔值),应用程序仍然崩溃'在空对象上reference@JoshuaLee这是因为您没有在上面发布的XML布局文件中定义ID为
@+ID/messageRec
RecyclerView
。对不起,我不太明白你的意思,你能在你的答案中修改一下吗?定义recycler视图与此有何关系?我已经用一个示例更新了我的答案
RecyclerView
。如果你还有其他问题,我建议你问一个新问题,这样这个问题就不会偏离原来的目的太远。添加“回收者”视图后,应用程序不再崩溃,但不会显示广告。这是因为另一个问题吗?
@Override
protected void onCreate(Bundle savedInstanceState) {
   super.onCreate(savedInstanceState);
   setContentView(R.layout.activity_main);
   ...
}
setContentView(R.layout.activity_register);
<android.support.v7.widget.RecyclerView
    android:id="@+id/messageRec"
    android:layout_width="match_parent"
    android:layout_height="match_parent"/>