当我在活动中创建一个新的意图时:
Intent myIntent = new Intent(this, TargetActivity.class);
// apply hacks explained in above stackoverflow answers
System.out.println(myIntent.getExtras())
(此代码存在默认的空白活动)
Intent#getExtras()
始终为null
,因此Intent#putExtras(...)
会立即NullPointerException
。但是,启动Intent可以毫无问题地工作。
我已阅读有关此主题的所有类似的stackoverflow帖子:
我已经尝试过所有这些,但似乎没有任何效果。
有没有人可以提供一个解决方案来简单地使用始终有效的非null附加功能启动Intent?
或者,有没有其他方法可以为Intent提供额外的信息,这些信息干净且没有泄漏?
答案 0 :(得分:0)
好的,我发现了问题。感谢@DanielNugent指出Intent处理的规范答案。
问题是:当我做的时候
myIntent .putExtra("myVar", myVar);
myVar
是null
!
我的愚蠢我没有仔细检查和恐慌,以某种方式愚蠢的Android,这确实导致立即NullPointerException
!如果你不相信我,请亲自尝试。
@ njzk2:谢谢,我没有意识到这一点。