我的Android应用程序有一些错误报告,它是Activity中的onCreate()中的Nullpointerexception。 失败的代码是getIntent()。getExtras()。getStringExtra(“name”)。(Nullpointerexception)getExtras(name).getString和getIntent()。getStringExtra(name)之间的区别
这意味着getExtras()以某种方式为空。我确信我正在为每一个创造意图的地方设置意图额外的东西。我无法在设备上的模拟器上重新创建它。我认为这发生在我的真实设备上(但不是在我调试时),因为我试图再次打开该应用程序,同时Android可能会杀死该进程并再次重新创建活动。但是,即使在这种情况下,不应该保留意向附加组件吗?
我试图杀死模拟器上的进程,再次调用onCreate,getExtras()返回正确的值。
我用getIntent()。getStringExtra()替换了代码。除了它不会抛出nullpointerexception之外,还有什么区别,但仍然会将String设置为null。还有其他的区别吗?
什么可能导致它?
是的,但它如何发生getExtras有时(很少)空?我每次都在我的代码中设置额外功能。 – 2011-05-01 23:58:33
你确定吗?你看到logcat中有“额外”吗?你确定知道你的特定活动是如何被调用的? – EboMike 2011-05-02 07:25:05
如果它返回null,无论出于何种原因,都没有额外的内容。我们看不到你的代码,但最可能的答案是你的代码允许没有额外的地方。 – hackbod 2011-05-02 17:44:31