我的 android 应用程序中有一个设置活动,目的是在项目选择时保存首选项。我的问题是,我的设置没有保存。每次进行用户选择时都会调用以下方法:
public void savePreferences()
{
defaultVolumeUnit = MySingleton.getInstance().getDefaultVolumeUnit();
defaultPressureUnit = MySingleton.getInstance().getDefaultPressureUnit();
defaultTempUnit = MySingleton.getInstance().getDefaultTempUnit();
settings = getSharedPreferences(SettingsTAG, 0);
Editor editor = settings.edit();
editor.putInt("selectVolume", defaultVolumeUnit);
editor.putInt("selectPressure", defaultPressureUnit);
editor.putInt("selectTemperature", defaultTempUnit);
editor.commit();
}
我还在我的 MAIN 活动中使用以下代码,其中所有设置在启动时都会恢复:
public void restoreValues()
{
settings = getSharedPreferences(SettingsTAG, 0);
int SelectedVolume = settings.getInt("selectVolume", 0);
int SelectedPressure = settings.getInt("selectPressure", 0);
int SelectedTemperature = settings.getInt("selectTemperature", 0);
// Necessary assignments here...
}
我在整个应用程序中使用全局变量,这些变量会被保存,但设置不会。我很肯定 savePreferences() 和 restoreValues() 方法都会被调用,但无论用户选择什么都不会被保存。
换句话说,没有任何东西被保存/恢复。我不知道我做错了什么,但这个问题一直让我发疯。这曾经对我有用,但我正在进行设置 UI 改造,相同的代码突然不起作用......
请问有什么帮助吗?