我有一个非常简单的程序,带有微调器和toggleButton.当按钮打开时,我禁用微调器,并在我关闭时启用.我遇到一个问题,意味着在屏幕旋转期间重新启用微调器.我理解这是由于活动状态的改变和onCreate被再次调用,但我没有在这样的实例中遇到关于视图状态的最佳实践的确定答案.
注意:我发现的与此相关的最相关的SO问题如下.所有3都讨论了如何处理状态更改(onPause/OnResume与overriding onSaveInstanceState),但似乎没有人明白哪个是这样简单的首选选项.
使用"保存实例状态"保存Android活动状态时接受的答案是可行的方法.
使用onSaveInstanceState保存一个布尔标志指示是否旋转器被禁用,则读取在标志onCreate(或onRestoreInstanceState)和禁用旋转器是必要的.
如果您android:id在XML布局中提供视图并且未明确设置android:saveEnabled为false,则将自动保存和恢复其"状态".例如,对于文本视图,这包括当前在视图中的文本和光标的位置.但是,启用/禁用状态似乎不是此"状态"的一部分.