我正在使用Sherlock ActionBar库并使用标签和片段作为我应用的主要布局。其中一个片段启动AsyncTask,现在当设备的方向发生变化时,我希望任务继续运行。所以我开始在片段上使用setRetainInstance(true)方法。一切正常,当我切换方向时,任务继续按预期运行并正确更新ListView。
但是我的布局还有一些按钮,我在运行任务时禁用并启用它们。 问题是,当设备切换方向时,我的布局中的ListView和EditText会被保存,但我的按钮不是!因为我使用setRetainInstance(true)我不能使用Bundle savedInstanceState方法,它将始终返回null。
那么如何才能完成片段UI和任务?为什么setRetainInstace不保存按钮?