我的android应用程序上有一些错误报告,它是活动oncreate()中的nullpointerexception。
失败的代码是getintent().getextras().getstringextra(“name”)。(空指针异常)
这意味着getExtras()在某种程度上是空的。我确信我在每个我创造意图的地方都设置了额外的意图。我无法在设备上的模拟器上重新创建它。我想这是在我试图再次打开应用程序后发生在我真正的设备上(但不是在我调试的时候),同时android可能会终止进程并重新创建活动。但即使在这种情况下也不应该保留额外的意图吗?
我试图终止模拟器上的进程,再次调用oncreate,getextras()返回正确的值。
我用getIntent().getStringExtra()替换了代码。除了它不会抛出nullpointerexception之外,还有什么区别呢?它仍然会将字符串设置为null。还有什么区别吗?
是什么引起的?

最佳答案

intent.getStringExtra()如果没有额外项,则返回null。如果没有额外项,intent.getextras()将返回空值,因此在尝试调用getstring()或其上的其他方法之前,需要检查是否存在该值。

08-18 16:58