2015-04-05 2 views
1

Прежде всего я звоню getFriends. С помощью запроса я получаю данные. Он правильно работает и дает не нулевойне может получить данные из SharedPreferences

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); 
      } 
     } 
    }); 
} 

Тогда я называю LoadData и попытаться получить данные из него

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)); 
      } 
     } 
} 

И это ставит мне данные, которые были previoud время, я имею в виду, что не дает мне данные по копированию; Что я делаю неправильно?

ответ

5

Вам необходимо позвонить commit() или apply() на ваш SharedPreferences.Editor, чтобы изменения сохранялись.

+0

И применяется 'apply()' быстрее, чем 'commit()'. –

Смежные вопросы