共享首选项和布尔值

dyt*_*the 2 android boolean editor sharedpreferences

我试图在执行方法时将“isPhysicalTheftEnabled”设置为 false,但这似乎不起作用。任何人有任何想法?

        SharedPreferences sp = getSharedPreferences("isPhysicalTheftEnabled", MODE_WORLD_READABLE);
        SharedPreferences.Editor ed = sp.edit();
        ed.putBoolean("isPhysicalTheftEnabled", false);
Run Code Online (Sandbox Code Playgroud)

Mxy*_*xyk 5

尝试添加ed.commit().

IE:

SharedPreferences sp = getSharedPreferences("isPhysicalTheftEnabled", MODE_WORLD_READABLE);
SharedPreferences.Editor ed = sp.edit();
ed.putBoolean("isPhysicalTheftEnabled", false);
ed.commit();
Run Code Online (Sandbox Code Playgroud)

SharedPreferences.Editors 要求您提交在 SharedPreferences 中更改的任何内容以应用更改。

关于您对 Ankit 回答的评论:

CheckBox根据您保存到的布尔值设置您的检查属性SharedPreferences,您需要类似的东西:

SharedPreferences sp = getSharedPreferences("isPhysicalTheftEnabled", MODE_WORLD_READABLE);
myCheckBox.setChecked(sp.getBoolean("isPhysicsTheftEnabled", [true/false]);
Run Code Online (Sandbox Code Playgroud)

.. 在其中您选择truefalse选择def_valueof .getBoolean()(如果SharedPreferences找不到布尔值)。