復元可能な情報にChoiceModeは含まれていない。
4.0.3_r1 時点での記事。
普段からよく使うListViewは、当然ながらView.onSaveInstanceState()をOverrideしている。
したがってConfigurationChangeを受けると状態が復元する。
復元する項目は色々ある。
- 選択位置
- フィルター
- ChoiceModeの選択状態
- など
しかしなぜか、mChoiceModeだけは復元しないのだ。
復元情報としては十分に保存可能なのだが、選択状態だけ転送するのである。
そのうえ
public void setChoiceMode(int choiceMode)
を叩くとせっかく自動復元していた選択状態も clearChoices() されてしまう。
この問題は ListFragment の縦横切替から自動復元する際に困った内容だ。
カーソル位置などは
ここに書いた通りで復元するが、ChoiceModeは戻らない。
最終更新:2012年01月22日 04:40