取消偏好设置更改

3

在实际执行之前取消首选项更改的方法是否存在?

首选项更改侦听器只允许我查看更改,但不允许我取消更改。 在某些情况下,我需要向用户显示AlertDialog,以允许他可能取消更改。 有没有简单的方法可以做到这一点?


2
如果你从首选项变更监听器中返回 false,则新值不应该被应用。 - denis.solonenko
@denis我不这么认为,该method返回void。 - Patrick
@Patrick 抱歉,我以为你在谈论 PreferenceActivity 中的常规 Preferences,而不是 SharedPreferences... - denis.solonenko
1个回答

0

我认为你可以控制变更,因为它只有在调用提交函数后才会被存储

SharedPreferences prefs = getSharedPreferences("MyPreferences", Context.MODE_PRIVATE);
SharedPreferences.Editor editor = prefs.edit();
editor.putBoolean("somevalue", true);
editor.commit();

在调用commit之前,您可以使用toast或其他方式预览该值,或者使用是/否对话框。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接