我正在使用偏好設置在Nexus 7應用程序中保存一些用戶設置。我的一個值保存到喜好代碼:Android偏好似乎不會在應用程序啓動之間持續
SharedPreferences sharedPref = getPreferences(Context.MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPref.edit();
String systemId = spinnerActivity.getSelectedItem().toString();
editor.putString(PreferenceKeys.SAVED_SYSTEMID, systemId);
if (!editor.commit()) {
Toast.makeText(getApplicationContext(), "Error saving System ID", Toast.LENGTH_LONG).show();
}
我已經通過這個加強與調試器,它被正確調用。當我重啓我的應用程序。並嘗試用下面的代碼讀取值,我總是得到空值。
SharedPreferences sharedPref = getPreferences(Context.MODE_PRIVATE);
String savedSystemId = sharedPref.getString(PreferenceKeys.SAVED_SYSTEMID, null);
ConnectionInfo.setSystemId(savedSystemId);
加載從主活動的onCreate()函數中調用。奇怪的是,在應用程序的其他地方加載了其他偏好值。工作正常,只是這種情況不起作用。任何人都可以看到有什麼不對?
你確定你正在保存你認爲你的價值嗎? – Matthew
是的,我已經非常仔細地在調試器中完成了它,空值永遠不會被保存。我已經步入保存有效值。在重新啓動應用程序。然而,我總是讀回null。 –