Sherlock ActionBar ライブラリを使用しており、アプリのメイン レイアウトにタブとフラグメントを使用しています。フラグメントの 1 つが AsyncTask を開始します。デバイスの向きが変わったときに、タスクを実行し続けたいと考えています。そこで、フラグメントで setRetainInstance(true) メソッドを使い始めました。方向を切り替えると、タスクは期待どおりに実行され続け、ListView が正しく更新されます。
しかし、私のレイアウトには、タスクの実行時に無効にしたり有効にしたりするボタンもいくつかあります。問題は、デバイスが向きを切り替えると、レイアウトの ListView と EditText が保存されますが、ボタンが保存されないことです! また、setRetainInstance(true) を使用しているため、Bundle savedInstanceState メソッドを使用できず、常に null が返されます。
では、完全なフラグメント UI とタスクを保存するにはどうすればよいでしょうか? setRetainInstace がボタンを保存しないのはなぜですか?