onSaveInstanceState
sが呼び出されないという同様の質問をいくつか見ましたFragment
が、私の場合、 s は正常に動作し、問題を抱えてFragment
いるのはメインです。FragmentActivity
関連するコードはかなり単純に見えます。
public class MyFActivity extends FragmentActivity implements ActionBar.TabListener {
String[] allValues; // data to save
@Override
protected void onSaveInstanceState (Bundle outState) {
Log.d("putting it!", allValues.toString());
outState.putStringArray("allValues", allValues);
super.onSaveInstanceState(outState);
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if (savedInstanceState != null) {
allValues = savedInstanceState.getStringArray("allValues");
Log.d("getting it!", allValues.toString());
}
}
}
(戻るボタンを使用して) アクティビティを一時停止するonSaveInstanceState
と、 は呼び出されないため、アプリの再開時にsavedInstanceState
常にメソッドnull
内にあります。onCreate
次のようなブロックを追加してみました。
@Override
public void onPause() {
super.onPause();
onSaveInstanceState(new Bundle());
}
これはhttps://stackoverflow.com/a/14195202/362657で提案されましたが、onSaveInstanceState
呼び出されている間はメソッド内にsavedInstanceState
残ります。私は何が欠けていますか?null
onCreate