fragmentで回転させると当然activityが初期化されるけど、fragmentでインスタンスを保存してonCreateで復元させるときなぜかnullpointさんがでた。
onCreateでgetActivityはできないようだ。
仕方ないのでonCreateでBundleに保存さしてonStartで復元させるというやり方にした。
たぶんスマートではないけど動いたのでいいとする。
Bundle mSavedInstanceState;
@Override
public void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
Log.d("Lifecycle", "onSaveInstanceState()");
//インスタンスの保存
outState.putString("kusuriInfo", kusuriInfo.getText().toString());
}
@Override
public void onStart() {
super.onStart();
if(mSavedInstanceState!=null){//回転時の復元処理
String value = mSavedInstanceState.getString("kusuriInfo");
kusuriInfo.setText(value);
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//ここだけだとnullpointなるからonstartで復元させる
mSavedInstanceState=savedInstanceState;
}
