Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/194.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 加载不给我值的SharedReferences_Java_Android - Fatal编程技术网

Java 加载不给我值的SharedReferences

Java 加载不给我值的SharedReferences,java,android,Java,Android,这是我的密码 SharedPreferences sharedPreferences = getSharedPreferences(values, MODE_PRIVATE); str1 = sharedPreferences.getString("lu121", "test"); str2 = sharedPreferences.getString("lp5151", "test"); et_username.setText(st

这是我的密码

        SharedPreferences sharedPreferences = getSharedPreferences(values,
            MODE_PRIVATE);
    str1 = sharedPreferences.getString("lu121", "test");
    str2 = sharedPreferences.getString("lp5151", "test");
    et_username.setText(str1);
    et_pass.setText(str2);
默认情况下,str1和str2的值应为test,但当我打开android应用程序时,EditText没有设置为test,而是显示为空白。我的代码有问题吗?

您需要调用commit来保存您正在编写的代码中未包含的值

...
SharedPreferences.Editor editor = sharedPreferences.edit();
editor.putString("lu", "testlu");
editor.putString("lp", "testlp");
editor.commit();

你所拥有的看起来是正确的。您是否通过输出到logcat或toast来测试str1和str2的值?如果是这样的话,你可以发布设置编辑文本的代码,或者是活动部分的xml吗?发布其他信息。我只使用setText函数进行了检查,并没有放置str1,而是放置test,结果显示了它。然而,当我烤str1和str2时,我没有得到任何价值。很抱歉,我看不出你的代码有什么问题。我还在一个测试应用程序中尝试了这个片段。为我工作。您是否尝试过重新启动模拟器,并以干净的方式启动它?我知道在它运行了一段时间后,它会做一些奇怪的事情。如果这不起作用,也许其他人会来帮忙。你有没有在任何时候为这些首选项写过值?如果首选项存在,但随后被删除,则可能只是检索空字符串。什么是值?另外,请包括编写首选项的代码。如果使用空字符串保存首选项,则不会返回默认值-因为首选项存在。