2011-06-03 6 views
3

Existe-t-il un moyen d'annuler un changement de préférence avant qu'il ne soit réellement effectué?Annulation d'un changement de préférence

L'écouteur modifié de préférence ne me permet de voir le changement mais ne me laisse pas l'annuler. Dans certains cas, je dois montrer un AlertDialog à l'utilisateur pour lui permettre d'annuler le changement. Y a-t-il un moyen facile de le faire?

+2

Si vous renvoyez 'false' à partir d'un écouteur modifié par préférence, il ne devrait pas appliquer la nouvelle valeur .. –

+0

@denis Je ne pense pas, la [méthode] (http://developer.android.com/reference/android /content/SharedPreferences.OnSharedPreferenceChangeListener.html) renvoie void. – Patrick

+0

@Patrick désolé, je pensais que vous parliez de 'Preferences 'comme dans' PreferenceActivity', pas SharedPreferences' ... –

Répondre

0

Je pense que vous pouvez contrôler le changement, car il est enregistré après que vous appelez la fonction commettras

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

Vous pouvez afficher un aperçu de la valeur avec un toast ou quelque chose avant d'appeler commettre. ou un dialogue oui/non.