Icepickは、回転などによってActivity破棄が行われても、Activityのメンバフィールドが、保存/復元されるようにするライブラリ。
GitHub - frankiesardo/icepick: Android Instance State made easy
Activityインスタンス破棄対策にIcepickを使ってみる - Qiita
onSaveInstanceStateで、Icepick.saveInstanceStateをすることで保存される。
build.gradleは、
特に、
ここがfalseだと、うまく復元しないので注意。
MainActivity.javaで、
@Stateを付けると、そのフィールドは破棄時に保存、生成時に復元される。
mTextは最初はnull、buttonを押したら"ABCDE"がセットされるようにする。
onCreateの時、ToastでmTextを常に表示するようにする。
buttonを押してない場合、nullなので何も表示されない。
buttonを押した後は、回転しても、"ABCDE"が表示されるので、mTextが復元できている。
Sample/icepick/Icepick/saveInstanceState/IP/IP_ at master · bg1bgst333/Sample · GitHub