【发布时间】:2019-07-22 22:03:32
【问题描述】:
如果我打开活动,复选框始终保持选中状态,即使我取消选中它并离开活动或关闭应用程序,它也会在重新启动活动后再次保持选中状态。
我尝试使用以下代码 sn-p 保存活动的状态。
checkBox1.setChecked(getSharedPreferences("NSUK", Context.MODE_PRIVATE).getBoolean("checkBox1", true));
checkBox1.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
getSharedPreferences("NSUK", Context.MODE_PRIVATE).edit().putBoolean("checkBox", isChecked).apply();
}
});
该复选框应始终处于用户离开它的状态(选中或未选中)。
【问题讨论】:
-
设置检查 = true
-
您能否通过注销来确认
getSharedPreferences(...).getBoolean(...);是否返回了正确的值? -
确保检查值实际保存到 SharedPreferences 并从中加载
-
您正在使用“checkBox1”来读取和“checkBox”来写入首选项。