2013-05-25 3 views
1

Что случилось с ниже кодSharedPreferences не в состоянии установить

Я не могу получить простую установку, сохраненную в SharedPreferences. s1 всегда "". Какая это малая ошибка, которую я делаю> SharedPreferences sp = getSharedPreferences («MyTestPref», 0);

String s = "Item1"; 
    sp.edit().putString("VAL", (s)); 
    sp.edit().apply(); //also tried commit 
    String s1 = (sp.getString("VAL", "")); 

ответ

0

Это должно быть так:

String s = "Item1"; 
sp.edit().putString("VAL", (s)); 
sp.edit().commit(); //also tried commit 
String s1 = (sp.getString("VAL", "")); 

использование commit() не apply().

EDIT:

final String PREFERENCE_NAME = "your_pref"; 
String s = "Item1"; 
SharedPreferences preferences = context.getSharedPreferences(PREFERENCE_NAME, Context.MODE_PRIVATE); 
SharedPreferences.Editor editor = preferences.edit(); 
editor.putString("VAL", s); 
editor.commit(); 

String s1 = preferences.getString("VAL", ""); 

enter image description here

+0

Я пробовал оба совершают возвращения верно, но до сих пор я получаю "" в S1 – mSO

+0

Я отредактировал мой ответ выше, это как вашей реализации? – dzep

+0

Да, я думаю, что команда sp.edit(). Commit() и sp.edit(). Putstring() не работает, в то время как editor.putString и commit работают. Не знаете, почему? в идеале оба относятся к одному и тому же объекту? – mSO

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