我正在开发一个超过 3 个类的应用程序。我的应用程序是这样工作的:
我从主要活动跳到另一个班级,然后跳到第三班,然后又回到第二班,然后又回到第三班。
我的问题是,当我在 3-rd 时按下后退按钮时,它转到 2-nd,然后到 3-rd,然后再次到 2-nd,然后到 1-st,然后到家。
我想停止这个过程。
我正在开发一个超过 3 个类的应用程序。我的应用程序是这样工作的:
我从主要活动跳到另一个班级,然后跳到第三班,然后又回到第二班,然后又回到第三班。
我的问题是,当我在 3-rd 时按下后退按钮时,它转到 2-nd,然后到 3-rd,然后再次到 2-nd,然后到 1-st,然后到家。
我想停止这个过程。
我认为问题是当你从三等舱回到二等舱时,你并没有破坏三等舱的实例。可能你刚刚开始了一个新的 Activity,比如 startActivity(second class)。每次切换到另一个类时,都会创建一个新的 Activity 实例,而不会破坏之前的实例。反复这样做,许多 Activity 实例被保存在任务堆栈中。如果你不想重复,你必须破坏以前的活动,或者改变你的实现。您可以自己创建自定义堆栈,并将 Class 实例作为视图而不是活动添加或删除。所以 1->(add)2->(add)3->(remove 3)2->(add)3->(remove 3)2->(remove 2)1。
在 onStop() 方法中使用 finish()