OnCreate関数内のこの行でnullポインタ例外が発生しています:
int Phase = savedInstanceState.getInt( "Phase", 1 );
私が読んだことによると、この関数は「フェーズ」に関連付けられた値を返すか、キー「フェーズ」のマッピングが存在しない場合は1を返す必要があります。しかし、何らかの理由で私はこの例外を受け取っています、なぜこれが起こっているのかについてのアイデアはありますか?
OnCreate関数内のこの行でnullポインタ例外が発生しています:
int Phase = savedInstanceState.getInt( "Phase", 1 );
私が読んだことによると、この関数は「フェーズ」に関連付けられた値を返すか、キー「フェーズ」のマッピングが存在しない場合は1を返す必要があります。しかし、何らかの理由で私はこの例外を受け取っています、なぜこれが起こっているのかについてのアイデアはありますか?
savedInstanceStateオブジェクトがである可能性がありますnull
。たとえば、アクティビティまたはフラグメントがレイアウトの変更から再作成されている場合は、nullにはなりません。
使用してみてください:
if(savedInstanceState != null) {
Phase = savedInstanceState.getInt( "Phase", 1 );
} else {
Phase = ...some other meaningful value...
}
発生しているエラーは、キーが欠落しているためではなく、変数 savedInstanceState
がnullであるためだと思います。確認しましたか?