我有一个主要 Activity ,当我单击一个按钮时,开始一个新 Activity ,我使用以下代码来执行此操作:
Intent intent = new Intent(this, SettingsActivity.class);
startActivity(intent);
以上代码是从主 Activity 中运行的。
现在在我的主要 Activity 调用的新 Activity 中,我有一个后退按钮。 当我点击这个后退按钮时,我希望我的新 Activity 关闭,它必须回到原来的主要 Activity 。
我尝试调用 super.finish()
并且只是调用 finish()
(来自新 Activity ),但这会关闭我的整个应用程序(包括我的主要 Activity ) .
如何关闭当前焦点所在的 Activity,然后返回主 Activity?
已编辑
我手机的后退按钮也关闭了我的整个应用程序,这让我认为我错误地启动了第二个 Activity ?
好的,我一直在寻找,
我创建了一个设置 Activity ,它使用相同的 list 代码和相同的代码来启动 Activity 。
对于设置Activity,当我按下后退按钮时,它会返回到Main Activity。
使用上面提到的主要问题中的 Activity ,它只会退出我的整个应用程序。
所以问题似乎不在于完成 Activity 的代码,而是 Activity 本身。
最佳答案
我认为您在启动 SettingsActivity
之前在 MainActivity
中调用 finish()
方法。
您所描述的场景将通过以下两种方式发生:
任何一个
您在 AndroidManifest.xml
中为 MainActivity
设置了 android:noHistory = "true"
,这会导致 MainActivity
finish
自动按返回键。
或
在切换到“SettingsActivity”之前,您已经在 MainActivity
中调用了 finish()
,这会杀死它。当您按下返回按钮时,由于堆栈中没有预设其他要弹出的 Activity ,它会返回到主屏幕。
关于android - 如何关闭 Activity 并返回到android中的上一个 Activity ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15393899/