私は、ユーザーが連絡先を選択し、onActivityResult()を使用して結果を返すことができるアクティビティを持っています。onActivityResult()が連絡先選択ツールから返された後にonRestoreInstanceStateが呼び出されない?
アクティビティが連絡先選択から返されたとき、私はonRestoreInstanceState()のバンドルからいくつかのコンテンツを取り出そうとしています。 onActivityResultが呼ばれた後でもonRestoreは...実行しない
私はここで
は私onRestoreです...それが実行されるかどうかを確認するためにそれをlog.eだとイマイチそれ@Override
protected void onRestoreInstanceState(Bundle outState){
super.onRestoreInstanceState(outState);
Log.e("SmsEditCreate", "Inside onRestore");
mDbHelper.open();
setRowIdFromIntent();
populateField();
}
return onActivityResult()が呼び出されたときにonRestoreは呼び出されませんか?
この場合、別の方法がある場合はお知らせください。
さて、私の質問の2番目の部分に。 onResume()のBundleから情報を引き出す必要があるとき、どうすればこの問題を回避できますか? –
まあ、あなたがしようとしていることを投稿していないので、あなたの質問には本当に答えられません。あなたのアクティビティのインスタンスは、古いアクティビティを開始する前に使用されていたものと同じインスタンスになると私は言うことができます。したがって、onResume()のonSaveInstanceStateで保持しようとしていたアクティビティクラスのどのフィールドでも使用できます。つまり、フィールドmRowIdを使用するrowIdに設定すると、onResumeで直接mRowIdを使用できます。 onRestoreInstanceStateでは、バンドルからmRowIdを設定することもできます。 –