FragmentManager.putFragmentで、Fragmentの参照を一応保存できる。
FragmentManager | Android Developers
strings.xmlで、
Activity用の"Button1"と、Fragment用の"FButton1"と、TextViewの"Fragment1"。
fragment1_main.xmlは、
TextViewとButton。
activity_main.xmlは、
ButtonとFrameLayout。
Fragment1.javaは、
インスタンスを保持出来てるかは、mNumberでチェックできる。
onCreateViewでTextViewにmNumberをセット。
Buttonを押すと、mNumberが増えてまたセット。
MainActivity.javaは、
MainActivity側のButtonでFragment1をadd。
onSaveInstanceStateの時に、putFragmentで保存、onRestoreInstanceStateの時に、getFragmentで復元。
回転すれば、ここに来るので、その時のIDとか、mNumberがどうなるか見てる。
起動時。
Button1を押すと、
Fragment1がadd。
FButton1を押すと、
0から1に増えている。押すたびに増える。
回転すると、
0に戻ってしまう。
ログを見るとわかるが、IDは同じなのに、インスタンスは別。
実際のところ、インスタンスが永続化されるわけではなく、同じIDで再生成しているだけみたいなので、オブジェクトもビューも同じ状態を維持できてるわけではない。
("一応"保存と言ってるのはそういうこと・・・。)