我在Android活动中有类似的内容:
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mPreferencesViewModel = new MainActivityPreferencesViewModel();
mButton.setOnClickListener({
mPreferencesViewModel.getSomething()
})
}
在NullPointerException
行出现了很少报告的getSomething()
崩溃。因此,基本上mPreferencesViewModel
为空。
要澄清一下:活动中没有代码可以将字段重置为空。
为什么会发生这种情况?如果活动被销毁,是否会重新创建该字段(因为应该再次调用onCreate
)?
在什么情况下会发生这种情况?我正在尝试复制,但没有成功。
该字段何时变为空?在onStop()
之后?
答案 0 :(得分:0)
好的,所以问题是在某些情况下,我是从活动的onNewIntent()
调用按钮的点击侦听器的,显然是在onCreate()
之前调用的。