我正在尝试将布尔首选项与内容提供程序中的值保持同步,并且除了此问题之外,还能很好地成功。当我在PreferenceActivity
的{{1}}方法中设置偏好设置时(因为内容提供商中的值可能已更改),视图中的复选框仍会反映前onResume()
值
就我而言,这种偏好可能完全是虚拟的而不是持久性的,但是如果它需要坚持让轮子转向那么好。最终目标是我的应用首选项中的一个复选框,用于反映和更新内容提供商中的值。
答案 0 :(得分:0)
我怀疑PreferenceActivity
首先设置onRestoreInstanceState()
方法中的复选框,然后在生命周期的后期调用onResume()
方法。虽然您更改了首选项值,但复选框同步代码已经完成。
因此,您可以覆盖onRestoreInstanceState()
,更新偏好设置值,然后最后致电super.onRestoreInstanceState()
。