Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/215.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.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
Android SharedReferences.GetString获取正确的值和null_Android_Json_Null_Sharedpreferences - Fatal编程技术网

Android SharedReferences.GetString获取正确的值和null

Android SharedReferences.GetString获取正确的值和null,android,json,null,sharedpreferences,Android,Json,Null,Sharedpreferences,你好!我刚刚接触安卓编程,目前正处于一种尴尬的境地 我有一个存储jSON数组的SharedReferences JSONArray jArray = new JSONArray(result); editor.putString("inventoryKey", result); editor.commit(); 然后,当我在另一个片段中调用它时 SharedPreferences sharedpreferences = this.getActivity().getSharedPreferenc

你好!我刚刚接触安卓编程,目前正处于一种尴尬的境地

我有一个存储jSON数组的SharedReferences

JSONArray jArray = new JSONArray(result);
editor.putString("inventoryKey", result);
editor.commit();
然后,当我在另一个片段中调用它时

SharedPreferences sharedpreferences = this.getActivity().getSharedPreferences(MainActivity.MyPREFERENCES, Context.MODE_PRIVATE);
String strJson = sharedpreferences.getString("inventoryKey", null);
我真的很困惑,因为当我运行这个片段时,我得到了NPE。我决定在日志中输入strJson的值,使用:

Log.i("info2",strJson);
出现以下内容:

注意它如何检索当前jSON,然后将其替换为null。根据logcat,它正好同时发生

我对这种情况感到十分困惑,我不知道为什么会发生这种情况。感谢您的帮助。谢谢大家!

编辑:所以,为了找出原因,我不知怎么做了

strJson = sharedpreferences.getString("inventoryKey", "hello");
Log.i("tester",strJson);

我很惊讶,logcat打印出了同样的结果。如果它返回空值,getString应该得到“hello”,对吗?相反,它仍然输出null。那么,putString而不是getString是否存在问题?

下次,请粘贴文本而不是链接图像。它使工作更容易。@Machavity:你好,很抱歉,我下次会记下来的!非常感谢。