Hi, I have a checkbox preference which, when set for the first time, may trigger a long-running operation. I want to get the user's explicit consent before starting this operation. However, if the user hits cancel, then the preference should remain unchecked.
I'm using a preference activity and register an onPreferenceChanged() handler for the checkbox preference in question, which shows an alert dialog (and returns true, so the preference *will* be set before the dialog pops up). I tried doing something like this in the AlertDialog that asks for user confirmation, to revert that preference change if he clicks cancel: [....] .setNegativeButton(R.string.cancel_button, new DialogInterface.OnClickListener() { @Override public void onClick (DialogInterface dialog, int which) { Editor e = getPreferenceScreen().getEditor(); e.putBoolean("foo_enable", false); e.commit(); SettingsActivity.this.onContentChanged(); } }) but it doesn't quite have the desired effect: the "foo_enabled" preference remains checked. AFAIK there are no blocking modal dialogs in Android. Should I perhaps be using something other than onPreferenceChanged() for this? Any suggestions would be appreciated! Thanks, Spiros --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Android Developers" group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers-unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en -~----------~----~----~----~------~----~------~--~---