Android 如何恢复SharedReferences更改?

Android 如何恢复SharedReferences更改?,android,sharedpreferences,Android,Sharedpreferences,我正在我的应用程序中使用SharedReferences。我有一个新的要求,用户可以更改这些设置,但当他们离开首选项屏幕时,必须提示他们确认设置更改 如果他们选择不这样做,那么当用户第一次打开首选项屏幕时,将更改还原为首选项的任何状态的最佳方法是什么 编辑 根据@Sachin Gadagi的建议,我想到了以下几点,但我想知道这是正确的方法吗: var editor = PreferenceManager.GetDefaultSharedPreferences(this).Edit(); fore

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

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

编辑

根据@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();

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

这就成功了

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

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

我就是这么想的。只是想知道这是不是最好的方式!