如何恢复SharedPreferences的更改?

时间:2013-09-19 15:40:22

标签: android sharedpreferences

我在我的应用中使用SharedPreferences。我有一个新要求,用户可以更改这些设置,但当他们离开首选项屏幕时,必须提示他们确认设置更改。

如果他们选择不这样做,那么当用户首次打开首选项屏幕时,将更改恢复为首选项状态的最佳方法是什么?

修改

根据@Sachin Gadagi的建议,我正在考虑以下内容,但我想知道这是正确的方法:

var editor = PreferenceManager.GetDefaultSharedPreferences(this).Edit();
foreach (var sp in _prefsBackup)
{
    // I know they're all bool
    editor.PutBoolean(sp.Key, (bool) _prefsBackup[sp.Key]);
}
editor.Commit();

2 个答案:

答案 0 :(得分:0)

一个建议,将首选项存储在变量中,并使用 onBackPressed() 函数。 在BackPressed事件中,要求保留更改。并相应地设置变量。

答案 1 :(得分:0)

这样做了。

                var editor = PreferenceManager.GetDefaultSharedPreferences(this).Edit();
                foreach (var sp in _prefsBackup)
                {
                    editor.PutBoolean(sp.Key, (bool)_prefsBackup[sp.Key]);
                }

                editor.Commit();
                base.OnBackPressed();