5

我在我的应用程序中使用 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();
4

2 回答 2

0

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

于 2013-09-19T15:48:58.717 回答
0

这做到了。

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

                editor.Commit();
                base.OnBackPressed();
于 2013-09-25T10:09:32.840 回答