我是Android开发的新手.在我的应用程序中,当用户更改首选项时,应调用函数来更新某些变量.
这是我目前的代码:
mypref.setOnPreferenceChangeListener(
new OnPreferenceChangeListener() {
public boolean onPreferenceChange(Preference arg0, Object arg1) {
if(arg1.toString().matches("...") == false) {
...
return false;
}
...
updateVariables();
return true;
}
});
Run Code Online (Sandbox Code Playgroud)
问题是,当updateVariables()调用时,首选项值尚未更新,并且函数会看到旧值.
private void updateVariables()
{
SharedPreferences sharedPref = PreferenceManager.getDefaultSharedPreferences(this);
Map<String, ?> savedKeys = sharedPref.getAll();
for (Map.Entry<String, ?> entry : savedKeys.entrySet()) {
// for each preference...
}
}
Run Code Online (Sandbox Code Playgroud)
最具侵入性的解决方案是什么?谢谢!
| 归档时间: |
|
| 查看次数: |
4056 次 |
| 最近记录: |