Android-activity 中的完成功能无效

Android-finish function in activity didn't work

我从 MainActivity 扩展了 activity A、B、C。 A先开始,A开始B,B开始C。 当我在 activity C 中的 onclick 特殊按钮中使用 finish() 时,Activity A 开始,但我想要 activity B 开始。 我为这个案子做什么?

当 Activity C 完成时,您不能可靠地期望 Activity B 在堆栈上,因为 Android 可以破坏背景 Activity 如果它需要内存。如果您的用例建议 Activity B 应该在 Activity C 关闭时始终可见,您应该明确地启动它,如 Navigating Up to Parent Activity 中所述。在你的情况下,我认为在 onBackPressed().

中使用 NavUtils.navigateUpFromSameTask(this) 是合适的

AActivity.java

Intent i = new Intent(this,BActivity.class);
startActivity(i);

BActivity.java

Intent i = new Intent(this,CActivity.class);
startActivity(i);

CActivity.java

Intent i = new Intent(this,BActivity.class);
startActivity(i);
finish();

开始所有 activity 如下所示:

Intent i = new Intent(this,NewActivity.class);

startActivity(i);

不要添加 finish() 方法,然后在按钮内单击只需调用 finish() 方法。它会让你回到之前的 activity.