2011-06-03 132 views
3

是否有方法在實際執行之前取消首選項更改?取消首選項更改

偏好改變的監聽器只讓我看到改變,但不讓我取消它。 在某些情況下,我需要向用戶顯示AlertDialog以允許他取消更改。 有沒有簡單的方法來做到這一點?

+2

如果你從偏好改變的監聽器返回'false',它不應該應用新的值。 – 2011-06-29 09:07:45

+0

@denis我不這麼認爲,[method](http://developer.android.com/reference/android /content/SharedPreferences.OnSharedPreferenceChangeListener.html)返回void。 – Patrick 2011-07-02 14:52:57

+0

@Patrick對不起,我以爲你正在討論'PreferenceActivity'中的常規'Preferences',而不是SharedPreferences' ...... – 2011-07-04 01:58:24

回答

0

我認爲你打電話後提交功能

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

你調用commit之前,您可以用烤麪包什麼的預覽值,你可以控制的變化,因爲它是唯一的存儲。或是/否對話框。