0

我在 OnCreate 函数内的这一行上遇到空指针异常:

int Phase = savedInstanceState.getInt( "Phase", 1 );

根据我阅读的内容,如果键“Phase”没有映射存在,则此函数应返回与“Phase”关联的值或 1。但是由于某种原因,我得到了这个例外,关于为什么会发生这种情况的任何想法?

4

2 回答 2

2

可能是您的 savedInstanceState 对象是null. 例如,如果您的活动或片段是从布局更改中重新创建的,则它不会为空。

尝试使用:

if(savedInstanceState != null) {
  Phase = savedInstanceState.getInt( "Phase", 1 );
} else {
  Phase = ...some other meaningful value...
}
于 2013-02-18T15:03:19.440 回答
0

我相信你得到的错误不是因为缺少键,而是因为变量 savedInstanceState为空。你检查过吗?

于 2013-02-18T15:01:54.760 回答