在我的單聲道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