我有两个活动,A和B.
1)从活动A开始,您可以前往B并通过后退按钮返回A(简历)。
2)从活动A,您可以转到B,进行选择,通过重新加载它将返回活动A.在这里,我需要从后台堆栈中清除活动A的上一个副本。
在第二种情况下,我使用以下意图:
Intent intent = new Intent(this, MainActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
startActivity(intent);
finish();
这是有效的,但我的新活动首先被绘制,然后我可以看到旧的副本被删除 - 所以有一些相同活动的动画消失了。是否有任何方法可以反转该行为,以便先删除旧活动,或者删除该动画?谢谢!
编辑:
就解决方法而言,现在我将活动A设置为清单中的singleTask
,覆盖onNewIntent
并重置我需要在onResume
中重新加载的所有对象。这似乎有效,但我更喜欢一个干净的名单,即重新加载活动