Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/303.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何设置共享首选项_Java_Android_Sharedpreferences - Fatal编程技术网

Java 如何设置共享首选项

Java 如何设置共享首选项,java,android,sharedpreferences,Java,Android,Sharedpreferences,我正在尝试设置共享首选项,但以下代码在两种情况下都会导致false 当该标志不存在时,我首先获取该标志的值,并期望出现false。但是,然后我将该值设置为true,并再次获取该标志,这次我希望true,但它仍然是false SharedPreferences sharedPref = getSharedPreferences("myapp",0); //fetch value when it does not exist Boolean mobileFlag = shar

我正在尝试设置共享首选项,但以下代码在两种情况下都会导致
false

当该标志不存在时,我首先获取该标志的值,并期望出现
false
。但是,然后我将该值设置为
true
,并再次获取该标志,这次我希望
true
,但它仍然是
false

    SharedPreferences sharedPref = getSharedPreferences("myapp",0);
    //fetch value when it does not exist
    Boolean mobileFlag = sharedPref.getBoolean("mobile_flag", false);
    Log.d("mobileFlag1", mobileFlag+"");
    //set the value
    SharedPreferences.Editor editor = sharedPref.edit();
    editor.putBoolean("mobile_flag",true);
    //fetch value when it has been set. 
    mobileFlag = sharedPref.getBoolean("mobile_flag", false);
    Log.d("mobileFlag2", mobileFlag+"");
两次日志消息的结果都是:

D/mobileFlag1﹕ false
D/mobileFlag2﹕ false

您没有提交新值

editor.putBoolean("mobile_flag",true).commit();

您没有提交新值

editor.putBoolean("mobile_flag",true).commit();

使用
editor.putBoolean(“mobile_标志”,true)后
您需要放置
editor.commit()
。这将保存您的SharedReference,否则将不保存任何内容。

使用
editor.putBoolean(“mobile\u flag”,true)后
您需要放置
editor.commit()
。这将保存您的SharedReference,否则将不保存任何内容。

您需要在编辑完SharedReference中的变量后提交更改

editor.commit();

您需要在完成SharedReferences中变量的编辑后提交更改

editor.commit();