在我的单声道Android应用程序我想保存活动的用户设置到活动首选项。我这样做,每当用户改变这个值:我不能让单声道的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";
这个值应该然后再在actvity的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的默认值。我不知道它是否没有正确保存或未正确加载。任何帮助,将不胜感激! 谢谢, Dave
是什么ISharedPreferences?放置断点并查看您坚持的价值。 – 2013-03-25 16:35:42
ISharedPreferences是Android返回的用于管理活动/应用程序首选项的对象。有一次,我坚持了241,但仍然返回-1。 – 2013-03-25 16:37:46
您的代码看起来不错,请尝试[this](https://github.com/gshackles/Sample-Projects/blob/master/MonoDroid/MonoDroidSamples/MonoDroidSamples/DemoActivities/Preferences/PreferencesActivity.cs)工作示例。 – 2013-03-25 17:14:35