在我的 mono for android 应用程序中,我想将活动的用户设置保存到活动首选项中。每当用户更改此值时,我都会这样做:
ISharedPreferences prefs = GetPreferences(FileCreationMode.Append);
ISharedPreferencesEditor editor = prefs.Edit();
editor.PutInt(NO_PIXELS_PER_HOUR_KEY, m_noPixelsPerHour);
editor.Commit();
其中 NO_PIXELS_PER_HOUR_KEY 是:
private const string NO_PIXELS_PER_HOUR_KEY = "PIXELS_PER_HOUR";
然后应该在活动的 OnCreate 方法中再次加载该值:
ISharedPreferences preferences = GetPreferences(FileCreationMode.Append);
int tempNoPixelsPerHour = preferences.GetInt(NO_PIXELS_PER_HOUR_KEY, -1);
if (tempNoPixelsPerHour == -1)
m_noPixelsPerHour = (int)(m_deviceHeight * 0.25);
else
m_noPixelsPerHour = tempNoPixelsPerHour;
问题是该值似乎没有持续存在!每当我退出活动并返回活动时,都会返回默认值 -1。我不知道它是否没有正确保存或没有正确加载。任何帮助,将不胜感激!谢谢,戴夫