onRestoreInstanceStateの役割と処理
onSaveInstanceStateで保存したデータを読み出して設定する際にonRestoreInstanceStateを使用します。
従ってonRestoreInstanceStateはonSaveInstanceStateでBundleに保存したデータを、
読みだす際に利用するメソッドです。
callされるタイミング
明示的Intentで呼ばれ、Activityの状態を復元するとき。
Javaコード
下記のサンプルではonSaveInstanceStateでデータの保存を行い、onRestoreInstanceStateでデータの設定を行っています。
@Override public void onCreate(Bundle tBundle){ super.onCreate( tBundle ) ; if( tBundle == null ){ return ; } //データの復帰 mBirthDay = tBundle.getString("BirthDay") ; mUserName = tBundle.getString("UserName") ; } @Override public void onSaveInstanceState( Bundle tBundle ){ super.onSaveInstanceState( tBundle ) ; //データの保存 tBundle.putString( "BirthDay", mBirthDay ) ; tBundle.putString( "UserName", mUserName ) ; } @Override protected void onRestoreInstanceState(Bundle savedInstanceState) { super.onRestoreInstanceState(savedInstanceState); //データの再設定 tBundle.getString( "BirthDay", "19900101" ) ; tBundle.getString( "UserName", "hogehoge" ) ; }
スポンサーリンク