gpt4 book ai didi

android - 如何在*onPreferenceChange 之后调用一个函数?

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:06:41 27 4
gpt4 key购买 nike

我是 Android 开发新手。在我的应用中,当用户更改首选项时,应该调用一个函数来更新一些变量。

这是我当前的代码:

mypref.setOnPreferenceChangeListener(
new OnPreferenceChangeListener() {
public boolean onPreferenceChange(Preference arg0, Object arg1) {
if(arg1.toString().matches("...") == false) {
...
return false;
}

...

updateVariables();
return true;
}
});

问题是当调用 updateVariables() 时,偏好值尚未更新,函数看到的是旧值。

private void updateVariables()
{
SharedPreferences sharedPref = PreferenceManager.getDefaultSharedPreferences(this);
Map<String, ?> savedKeys = sharedPref.getAll();

for (Map.Entry<String, ?> entry : savedKeys.entrySet()) {
// for each preference...
}
}

侵入性最小的解决方案是什么?谢谢!

最佳答案

onPreferenceChange() 的第二个参数(此处为arg1) 是新值。我建议也将它作为参数添加到 updateVariables() 中,然后传递对象以使用它。

关于android - 如何在*onPreferenceChange 之后调用一个函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7693640/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com