Traverse between activities in stack

前端 未结 2 701
梦毁少年i
梦毁少年i 2021-01-18 14:51

Suppose I have activity instances A1, B1, A2, B2, C1 of activities A, B, C in stack. How can I traverse to Activity instance B1 from C1?

Let us generalize there will

相关标签:
2条回答
  • 2021-01-18 15:10

    This is actually a very bad architecture for Android. If you create multiple instances on an Activity, there is no way to specifically address them, for example: "Go back to the first instance of ActivityB". Android isn't designed like this.

    You should avoid creating multiple instances of an Activity. It is beter to use the same instance and just create the "illusion" of multiple instances by swapping out the underlying data and maybe adding a state transition on the display so that it looks like you are starting another Activity.

    Another possible solution would be to use a lot of startActivityForResult() and return information to the calling Axctivity about what to do next.

    For more details see (even though these questions are specifically about using FLAG_ACTIVITY_REORDER_TO_FRONT, the problem is still basically the same):

    • Managing Android Activity stack: bring specific activity instance to front

    • Multiple activity instances and FLAG_ACTIVITY_REORDER_TO_FRONT

    • Bring an activity to front using FLAG_ACTIVITY_REORDER_TO_FRONT

    0 讨论(0)
  • 2021-01-18 15:25

    Use Flags with Intent.

    official Docs: https://developer.android.com/guide/components/tasks-and-back-stack.html

    pass the flag along with Intent

    FLAG_ACTIVITY_CLEAR_TOP

    also you can paas multiple FLags in a single Intent according to your need.

    Hope this helps.

    0 讨论(0)
提交回复
热议问题