Make the "up" button behave like the "back" button on Android

The Android app design I'm working with calls for the "Up" button to behave the same way the "Back" button behaves, but I'm not sure how to make that happen.

I know that android:parentActivityName must be specified for the "Up" button to be visible on an activity, but specifying a fixed parent activity doesn't really make sense for the activity. Imagine this scenario with activities A, B, and C:

  1. Launch into activity A, it contains two buttons: each taking you to activities B and C, respectively.
  2. Tap the button for activity B.
  3. Transition to activity B. it contains two buttons: each taking you to activities A and C, respectively.
  4. Tap the button for activity C.
  5. Transition to activity C.
  6. Tap the "up" button, you should be taken to activity B.
  7. On activity B now: tap the button for activity A.
  8. Transition to activity A.
  9. Tap the "up" button, you should be taken to activity B.
  10. On activity B Tap the "up" button, you should be taken to activity A.
  11. On activity A now: tap the button for activity C.
  12. Transition to activity C.
  13. Tap the "up" button, you should be taken to activity A.

If I were to specify android:parentActivityName for each activity, it might make sense to have B and C's parent activity be A, but this means that each time we hit the "up" button from activities B or C, we land at activity A (and that's not always what is supposed to happen).

Does anybody have experience with this type of thing?

Answers


from all three of your activities add the following

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    switch (item.getItemId()) {
        case android.R.id.home:
            onBackPressed();
            return true;
    }

    return(super.onOptionsItemSelected(item));
}

when you press the up button on your app it will invoke onOptionsItemSelected with the id of android.R.id.home just catch that case and manually call onBackPressed()


Need Your Help

Is there a way to pause a CABasicAnimation?

iphone core-animation cabasicanimation

I have a basic spinning animation of the iPhone. Is there any way that I can "pause" the animation so that the position of the view will be maintained? I guess one way of doing this would be to cau...