我在我的一個活動中使用了SharedPreference,並且我想在其他活動中引用相同的值並獲取其值。我這樣做如下:沒有得到共享首選項的確切值:
1個
類級別變量:
String PREFS_NAME = "Login";
SharedPreferences sp;
的值設置爲SharedPreference
public void savePref(String key, boolean value) {
SharedPreferences sp = getSharedPreferences(PREFS_NAME,0);
Editor edit = sp.edit();
edit.putBoolean("loggdin", value);
edit.commit();
Toast.makeText(getApplicationContext(), "Login = " + value,
Toast.LENGTH_LONG).show();
}
2級個
類級別變量:
SharedPreferences sp;
String PREFS_NAME = "Login";
在的onCreate:(同時也查看評論)
SharedPreferences sp = getSharedPreferences(PREFS_NAME,0);
boolean channel = (sp.getBoolean("loggdin", true));// I get the value true or false depending on what I pass as a second argument here, pretty confused!
if (channel == true){
Toast.makeText(getApplicationContext(), "true"+channel, 10000).show();
}else {
Toast.makeText(getApplicationContext(), "false"+channel, 10000).show();
}
無法明白的地方我錯了,任何提示?
如果您的共享首選項中沒有值,則表示您無法在編輯器中設置布爾值 – KDeogharkar
中的第二個參數是獲取的默認值是如上所述,我在PREFS_NAME中聲明瞭PREFS_NAME,將完全相同的字符串分配給它。 – User3
什麼吐司顯示? – KDeogharkar