Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/214.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 can';无法从SharedReferences获取数据_Java_Android - Fatal编程技术网

Java can';无法从SharedReferences获取数据

Java can';无法从SharedReferences获取数据,java,android,Java,Android,首先,我打电话给getFriends。使用请求获取数据。它工作正常,并给出非空值 getFriends(getActivity()); private void getFriends(final Context context){ VKRequest request = VKApi.friends().get(VKParameters.from(VKApiConst.FIELDS, "id,first_name,last_name,photo_100,"));

首先,我打电话给
getFriends
。使用请求获取数据。它工作正常,并给出非空值

getFriends(getActivity());

 private void getFriends(final Context context){
    VKRequest request = VKApi.friends().get(VKParameters.from(VKApiConst.FIELDS,
            "id,first_name,last_name,photo_100,"));
    request.executeWithListener(new VKRequest.VKRequestListener() {
        @Override
        public void onComplete(VKResponse response) {
            super.onComplete(response);
            VKList<VKApiUser> Friends= (VKList<VKApiUser>)response.parsedModel;

            SharedPreferences prefs  = PreferenceManager.getDefaultSharedPreferences(context);
            SharedPreferences.Editor editor = prefs.edit();

            Toast.makeText(context,Friends.get(0).last_name,Toast.LENGTH_LONG).show();//NOT NULL

            for(int i = 0; i< Friends.size();++i) {
                editor.putString("FriendFirstName" + String.valueOf(i), "asdsaddsa");
                editor.putString("FriendLastName"+ String.valueOf(i), Friends.get(i).last_name);
                editor.putString("FriendPhoto"+ String.valueOf(i), Friends.get(i).photo_100);
            }
        }
    });
}
它给了我以前的数据,我的意思是它没有给我正确的数据;
我做错了什么?

你需要在你的
SharedReferences.Editor上调用
commit()
apply()
,这样更改才会被持久化。

你需要在
SharedReferences.Editor上调用
commit()
apply()
,这样更改才会被持久化。

apply()
被称为比
commit()
快,而
apply()
被称为比
commit()
快。
LoadFriends(getActivity());



 public void LoadFriends(Context context){
        SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
        for(int i=0;i< 7; i++) {
            if (prefs != null) {
                Names.add(prefs.getString("FriendFirstName" + String.valueOf(i), null)
                        + " " + prefs.getString("FriendLastName" + String.valueOf(i), null));
            }
        }
}