gpt4 book ai didi

java - SharedPreferences putBoolean on change 不起作用

转载 作者:行者123 更新时间:2023-11-30 03:33:37 25 4
gpt4 key购买 nike

当 sharedpreferences 中的 chebkox 更改状态时,我有一个 if 循环。但是当状态改变时,我无法设置 putBoolean("blabla", false);。例如:用户点击复选框,CB 被选中,如果说 uncheck it 但它不会取消选中。

我的代码:

public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) {    
if(key.equals("cbSaveUsername")) {
SharedPreferences.Editor SFEdit2 = sharedPreferences.edit();
SFEdit2.putBoolean("cbSaveUsername", false);
SFEdit2.commit();
}
}

谁能告诉我我的错误?

编辑:看起来它以编程方式工作,但勾号仍在框中:o 错误可能在哪里?我像 Gunaseelan postet 一样使用它

最佳答案

尝试使用onPause()onResume() 方法。

@Override
protected void onResume() {
super.onResume();
// Set up a listener whenever a key changes
getPreferenceScreen().getSharedPreferences()
.registerOnSharedPreferenceChangeListener(this);
}

@Override
protected void onPause() {
super.onPause();
// Unregister the listener whenever a key changes
getPreferenceScreen().getSharedPreferences()
.unregisterOnSharedPreferenceChangeListener(this);
}

更多详情 onSharedPreferenceChanged not fired if change occurs in separate activity?

关于java - SharedPreferences putBoolean on change 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16996872/

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