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 [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en
-~----------~----~----~----~------~----~------~--~---