0

OnCreate関数内のこの行でnullポインタ例外が発生しています:

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

私が読んだことによると、この関数は「フェーズ」に関連付けられた値を返すか、キー「フェーズ」のマッピングが存在しない場合は1を返す必要があります。しかし、何らかの理由で私はこの例外を受け取っています、なぜこれが起こっているのかについてのアイデアはありますか?

4

2 に答える 2

2

savedInstanceStateオブジェクトがである可能性がありますnull。たとえば、アクティビティまたはフラグメントがレイアウトの変更から再作成されている場合は、nullにはなりません。

使用してみてください:

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

発生しているエラーは、キーが欠落しているためではなく、変数 savedInstanceStateがnullであるためだと思います。確認しましたか?

于 2013-02-18T15:01:54.760 に答える