复选框状态始终保持选中状态

时间:2019-07-22 12:50:04

标签: android checkbox

如果我打开活动,则该复选框始终保持选中状态,即使我未选中它并退出活动或关闭了应用程序,也将在重新启动活动后再次保持选中状态。

我尝试使用下面的代码段保存活动状态。

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();

            }
        });

该复选框应始终处于用户离开状态(选中或未选中)。

1 个答案:

答案 0 :(得分:3)

该代码是正确的,但是您正在以不同的值存储和获取数据。 您将存储在checkBox1中并从checkBox中读取。尝试

checkBox1.setChecked(getSharedPreferences("NSUK", Context.MODE_PRIVATE).getBoolean("checkBox", true));

        checkBox1.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
            @Override
            public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
                getSharedPreferences("NSUK", Context.MODE_PRIVATE).edit().putBoolean("checkBox", isChecked).apply();

            }
        });