I am programmatically creating a nested set of PreferenceScreen
s. When the user dives into one of these screens, and taps something in there, I want to go back to the previous PreferenceScreen
, (i.e. the "parent").
I couldn't find any information on this, and calling finish()
doesn't do the job but rather returns from ALL the PreferenceScreen
s instead of just one.
You can either leave the first one open buy not calling finish() on the one that launched the second one. If this does not do it, you could save the state of the first screen and instead of 'going back' you call it by an Intent and have it load its previous state.
Try something like:
With a custom preference category like:
I just meet the problem and just found the solution. You can override the method onPreferenceTreeClick in PreferenceActivity. call the param preferenceScreen's getDialog method, then call the dialog's dismiss method. just like this, joy!