我在我的应用中使用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();
答案 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();