2014-04-15 110 views
0

我使用下面的代碼:SharedPreferences刪除沒有明顯的原因?

SharedPreferences sharedPref = getSharedPreferences(GlobalDefines.SHARED_PREFERENCES, Context.MODE_PRIVATE); 
String test = sharedPref.getString(GlobalDefines.GCM_KEY, "");   
SharedPreferences.Editor editor = sharedPref.edit(); 
editor.clear(); 
editor.putBoolean(GlobalDefines.USER_IS_LOGGED_IN, false); 
editor.remove(GlobalDefines.USER_NAME); 
editor.remove(GlobalDefines.USER_PASSWORD); 
editor.commit(); 
test = sharedPref.getString(GlobalDefines.GCM_KEY, ""); 

字符串「Test」有一個值時,我得到了第一次共享偏好的價值;當我從首選項中移除另一個值並且想要再次獲得相同的值(GCM_KEY)時,它將返回爲空。

這是爲什麼?

+0

你究竟把你的共享首選項'GCM_KEY'值放在哪裏? – donfuxx

+1

您正在調用'editor.clear()' - 它將刪除'SharedPreferences'文件中的所有值。 – Squonk

回答

1

editor.clear()告訴編輯您想要從您的SharedPreferences中刪除ALL值。刪除這一行,你會看到預期的行爲。

+0

謝謝,這是問題! – deimos1988

相關問題