Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/231.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 不能';t save“;“长”;共同偏好_Java_Android_Preference - Fatal编程技术网

Java 不能';t save“;“长”;共同偏好

Java 不能';t save“;“长”;共同偏好,java,android,preference,Java,Android,Preference,我将“long”保存在SharedReference中,如下所示: SharedPreferences preferences = context.getSharedPreferences("STARTTIME", android.content.Context.MODE_PRIVATE); SharedPreferences.Editor editor = preferences.edit(); editor.putLong("startTime", startTime);

我将“long”保存在SharedReference中,如下所示:

SharedPreferences preferences = context.getSharedPreferences("STARTTIME", android.content.Context.MODE_PRIVATE);
    SharedPreferences.Editor editor = preferences.edit();
    editor.putLong("startTime", startTime);
    editor.commit();
preferences = context.getSharedPreferences("STARTTIME", android.content.Context.MODE_PRIVATE);
long getstartTime = preferences.getLong(startTime, 0);
并从SharedReference检索“long”,如下所示:

SharedPreferences preferences = context.getSharedPreferences("STARTTIME", android.content.Context.MODE_PRIVATE);
    SharedPreferences.Editor editor = preferences.edit();
    editor.putLong("startTime", startTime);
    editor.commit();
preferences = context.getSharedPreferences("STARTTIME", android.content.Context.MODE_PRIVATE);
long getstartTime = preferences.getLong(startTime, 0);
但我在检索时得到了值“0”……猜猜我哪里出错了?

这是:

long getstartTime = preferences.getLong(startTime, 0);
应该是

long getstartTime = preferences.getLong("startTime", 0);

Android将
startTime
解释为一个资源id,因为它没有找到它,所以您得到了您传入的默认值作为returnvalue。

您应该将相同的键传递给
getLong()
方法,即literal“startTime”

long getstartTime = preferences.getLong("startTime", 0);

您错过了一对“”:preferences.getLong(“startTime”,0);啊…是的,谢谢…我也在想…我没有得到编译错误,早些时候我也在尝试同样的方法,但是将“getLong”更改为“getString”会出现错误,这很奇怪…起初我还希望oyu得到编译错误,但后来我记得可以通过资源ID加载字符串,所以我给出了解释。:)您应该将答案标记为已接受,以便其他用户也能识别类似问题的解决方案。谢谢Devlus,您能告诉我在哪里接受吗。我从来没有试过。我相信这对其他开发人员会很有帮助。答案左边是小的上下箭头。在这里,你可以投票决定一个答案或一个问题是好是坏。如果你得到了自己问题的答案,你也会在这些箭头下面看到一个复选标记。在这里你可以接受答案。您应该阅读这些链接,因为它们将更详细地回答这些问题:谢谢Devulus…我做到了:)