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; }