我在我的应用程序中使用共享首选项。我有一个新的要求,即用户可以更改这些设置,但是当他们离开首选项屏幕时,必须提示他们确认设置更改。
如果他们选择不这样做,那么将更改还原为用户首次打开首选项屏幕时首选项状态的最佳方法是什么?
编辑
根据 Gadagi 的建议@Sachin,我正在考虑以下内容,但我想知道这是正确的方法:
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()函数。在 BackPressed 事件中,要求是否保留更改。并相应地设置变量。
做到了。
var editor = PreferenceManager.GetDefaultSharedPreferences(this).Edit();
foreach (var sp in _prefsBackup)
{
editor.PutBoolean(sp.Key, (bool)_prefsBackup[sp.Key]);
}
editor.Commit();
base.OnBackPressed();