如果更改了首选项,则刷新活动

时间:2010-11-06 13:14:29

标签: android android-activity settings refresh preferences

我有一个PreferenceActivity,其中包含我的应用程序的设置,如果某些偏好设置已更改,我想刷新活动。

例如,我有一个复选框,负责我的布局中的addtional选项卡,当选中复选框时,必须显示选项卡。为了捕获这个事件,我使用了OnSharedPreferenceChangeListener。但是这个监听器听每次点击这个复选框并且每次都做一些事情(你的逻辑),即使设置确实没有改变,每次点击也是如此。我想只在设置真的改变时刷新我的活动。如果之前是“OFF”并且在这种情况下现在变为“ON”我想要刷新,但如果我改变OFF - ON - OFF我不想刷新。

如何捕捉真正的变化以及如何在活动中处理这个变化?

谢谢!

1 个答案:

答案 0 :(得分:7)

  

如何捕捉真正的变化以及如何在活动中处理这个变化?

步骤1:在您的主要活动上实施OnSharedPreferenceChangeListener

第2步:维护boolean数据成员,最初为false,只要您的感兴趣的复选框发生更改,您就可以切换。

步骤3:在onStart()onResume()中,如果boolean数据成员为true,请刷新活动并将数据成员设置为false