我有一个PreferenceActivity,其中包含我的应用程序的设置,如果某些偏好设置已更改,我想刷新活动。
例如,我有一个复选框,负责我的布局中的addtional选项卡,当选中复选框时,必须显示选项卡。为了捕获这个事件,我使用了OnSharedPreferenceChangeListener。但是这个监听器听每次点击这个复选框并且每次都做一些事情(你的逻辑),即使设置确实没有改变,每次点击也是如此。我想只在设置真的改变时刷新我的活动。如果之前是“OFF”并且在这种情况下现在变为“ON”我想要刷新,但如果我改变OFF - ON - OFF我不想刷新。
如何捕捉真正的变化以及如何在活动中处理这个变化?
谢谢!
答案 0 :(得分:7)
如何捕捉真正的变化以及如何在活动中处理这个变化?
步骤1:在您的主要活动上实施OnSharedPreferenceChangeListener
。
第2步:维护boolean
数据成员,最初为false
,只要您的感兴趣的复选框发生更改,您就可以切换。
步骤3:在onStart()
或onResume()
中,如果boolean
数据成员为true
,请刷新活动并将数据成员设置为false