2012-07-01 61 views
2

只要我更改了我的应用内设置(使用共享偏好设置),我必须使用后退按钮并返回到活动中才能使更改生效。我希望他们立即生效。我试图使用设置不会立即生效

protected void onResume(){ 

super.onResume(); 

} 

但它不起作用。我究竟做错了什么?我的设置活动由菜单inflater调用,并在点击保存按钮时完成。

+2

对不起,但如果没有正确的答案我不会接受它。我不想误导像我这样有同样问题的人。也许我们现在可以开始为我的问题找到一个解决方案?如果这是一个很好的答案,我一定会接受它。 – JohnD

+0

60%的改善已经足够好了。 –

回答

0

这里有一些事情看出来:

  1. 你写了新的设置到同一文件作为一个正在使用的,而不是一个不同
  2. 大多数人使用局部变量将运行时的设置存储在运行基础上。确保在更改设置后更新所有这些设置。一个很好的方法是使用updateUserChoices()这样的独立方法,并且在其中包含所有代码,如boolean sound = settings.getBoolean();。然后只需在开始时调用此方法,然后更新设置。
+0

它的工作原理,谢谢! – JohnD