gpt4 book ai didi

java - 使用 SharedPreferences 保存复选框,java

转载 作者:行者123 更新时间:2023-12-01 16:35:05 25 4
gpt4 key购买 nike

我需要在 android studio 中的应用程序中保存设置选项卡的复选框值来更改灵敏度,但我无法弄清楚为什么我的 SharedPreferences 不起作用,我想我会尝试将复选框隐藏为 boolean 值,但这似乎没有保存我的数据。

代码:

private CheckBox checkSens;
private boolean cbValue;
private static boolean finalSens;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_settings);

finalSens = LoadPrefs();

checkSens = (CheckBox) findViewById(R.id.checkSens);
checkSens.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked)
{
savePrefs("CheckBox", isChecked);
}
});

checkSens = (CheckBox) findViewById(R.id.checkSens);
}

public static boolean getCheckSens() {
return finalSens;
}

private boolean LoadPrefs()
{
SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(this);
cbValue = sp.getBoolean("CheckBox", false);

return cbValue;
}

private void savePrefs(String key, boolean value)
{
SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(this);
SharedPreferences.Editor edit = sp.edit();
edit.putBoolean("CheckBox", value);
edit.commit();
}

最佳答案

请使用setOnCheckedChangeListener而不是setOnClickListener来获取复选框值。请引用以下代码。

checkSens = (CheckBox) findViewById(R.id.checkSens);
checkSens .setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompundButton button, boolean isChecked)
{

savePrefs("CheckBox", isChecked);
}
});

关于java - 使用 SharedPreferences 保存复选框,java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61970486/

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