Is there any way to have one and only one instance of each activity?

Cody picture Cody · Jan 25, 2012 · Viewed 41.7k times · Source

I'm finding that in my application, the user can get quite 'nested' in the various activities that are opened while the user is using the application.

For example:

  1. Main Menu
  2. Object List
  3. Object Details
  4. Object Edit
  5. Object Details
  6. Object Child Details
  7. Object Child Edit
  8. Object Child Details

Now, when the user presses back, it has to go through 'Object Child Details' twice (same object, when it is edited it returns to the detailed page), and the same thing happens for the 'Parent Object Details'.

Is there a way to reuse activities, if they are already open in the stack, and reorder them to the front? The only way I have seen is on activities with the launcher attribute. I believe I saw singleTask and singleTop.

If am supposed to be using these two attributes, singleTask and singleTop, how am I supposed to use them? When I tried to include them in the application, it made no difference. Do I also need to set a flag while launching the intent using startActivity?

Answer

ud_an picture ud_an · Jan 25, 2012

in Manifest Activity property you can give this parameter android:launchMode="singleInstance"

Read in more detail here http://developer.android.com/guide/topics/manifest/activity-element.html