Re: [android-developers] Newbie Question Regarding Activities and onOptionsItemSelected
On Mon, Mar 19, 2012 at 8:13 PM, Mark Phillips
<mark@phillipsmarketing.biz> wrote:
> If I click on Help, then Preferences, then Help, then Preferences, then
> Help, and then go back, I have to go back through the whole chain to get to
> my starting point. I seem to be creating several HelpActivities and
> PreferenceActivities as I go (I put a toast message in each activities
> onCreate method to tell me when the activity is created). This behavior does
> not seem to be a good idea. So, my question is: in the onOptionsItemSelected
> method for the HelpActivity, how do I determine if there is an existing
> PreferenceActivity and go to that one, or create a new one if there isn't
> one. I would think there must be some Android pattern for this problem, as I
> can't be that clever to be the first one to run into this problem.
You can add FLAG_ACTIVITY_REORDER_TO_FRONT to your Intent you use with
startActivity() for all but perhaps your "home" option. This flag will
"recycle" an existing instantiated copy of your activity, if one
exists (otherwise, it creates one).
In this case, if you "click on Help, then Preferences, then Help, then
Preferences, then Help", BACK will take you to Preferences, and
another BACK will take you wherever you started from.
For the "home" option, you might instead add FLAG_ACTIVITY_CLEAR_TOP
and FLAG_ACTIVITY_SINGLE_TOP flags to your Intent for startActivity().
This destroys all other activities in your task and then displays the
one you are starting.
In this case, if you clicked on Help, then Preferences, then the
action bar's home affordance, then BACK, you exit the application --
the home affordance would wipe out the Help and Preferences activities
via the aforementioned pair of flags, leaving you with just your home
activity, which BACK would exit.
--
Mark Murphy (a Commons Guy)
http://commonsware.com | http://github.com/commonsguy
http://commonsware.com/blog | http://twitter.com/commonsguy
Android Training in NYC: http://marakana.com/training/android/
--
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+unsubscribe@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en
0 Comments:
Post a Comment
Subscribe to Post Comments [Atom]
<< Home