onSaveInstanceState() と onRestoreInstanceState() 質問する

onSaveInstanceState() と onRestoreInstanceState() 質問する

ActivityメソッドonSaveInstanceState()とを使用して、 の状態を保存および復元しようとしていますonRestoreInstanceState()

問題は、それがonRestoreInstanceState()メソッドに決して入らないことです。なぜそうなるのか誰か説明してもらえますか?

ベストアンサー1

通常、状態は で復元されます。 で復元することもonCreate()可能ですが、あまり一般的ではありません。 (は の後に呼び出されますが、 はの前に呼び出されます。onRestoreInstanceState()onRestoreInstanceState()onStart()onCreate()onStart()

値を次の場所に格納するには、put メソッドを使用しますonSaveInstanceState()

protected void onSaveInstanceState(Bundle icicle) {
  super.onSaveInstanceState(icicle);
  icicle.putLong("param", value);
}

そして、次の値を復元しますonCreate():

public void onCreate(Bundle icicle) {
  if (icicle != null){
    value = icicle.getLong("param");
  }
}

おすすめ記事