在我的Android 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";
然后应该在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。我不知道它是不是正确保存还是没有正确加载。任何帮助,将不胜感激! 谢谢, 戴夫
答案 0 :(得分:1)
我不知道有关Android的单声道,但在android中我们在java中调用getsharedpreferences()。在这里,您只调用可以是任何首选项的首选项,但设置首选项。你可以试试像getdefaultsharedpreference之类的东西。
编辑:我不确定,但你可以试试这个..ISharedPreferences _preferences = PreferenceManager.GetDefaultSharedPreferences(your_context)