Android SharedReferences.GetString获取正确的值和null
你好!我刚刚接触安卓编程,目前正处于一种尴尬的境地 我有一个存储jSON数组的SharedReferencesAndroid 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
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:你好,很抱歉,我下次会记下来的!非常感谢。