我有一个主要的活动,当我点击一个按钮,开始一个新的活动时,我使用了以下代码:
Intent intent = new Intent(this, SettingsActivity.class);
startActivity(intent);
上面的代码是从主活动中运行的。
现在在主活动调用的新活动中,我有一个后退按钮。当我点击这个后退按钮时,我希望我的新活动结束,它必须回到原来的主活动。
我尝试过调用super.finish()
,只是完成()
(从新活动),但这会关闭我的整个应用程序(包括我的主要活动)。
如何关闭当前关注的活动,然后返回到主活动?
编辑
事实上,我的手机的后退按钮也关闭了我的整个应用程序,这让我觉得我已经错误地启动了第二个活动?
好的,我一直在找,
我创建了一个设置活动,它使用相同的清单代码和相同的代码来启动该活动。
对于设置活动,当我按下后退按钮时,它将返回到主活动。
在主要问题中提到的活动,它只是退出我的整个应用程序。
所以问题似乎不在于完成活动的代码,而在于活动本身。
当你点击你的按钮,你可以让它调用:
super.onBackPressed();
只需在当前活动中调用finish()即可返回到上一个活动。注意finish()调用后的任何代码都将运行-您只需在调用finish()后返回即可解决此问题。
如果您想将结果返回到活动一,那么在开始活动二时,您需要:
startActivityForResults(myIntent, MY_REQUEST_CODE);
在被调用的活动中,您可以从onCreate()参数或used获取意图
getIntent();
若要设置返回结果到活动1,则在活动2中执行
setResult(Activity.RESULT_OK, MyIntentToReturn);
如果你不想回来,就说
setResult(Activity.RESULT_OK);
如果活动的结果不好,可以使用activity.RESULT\u Cancelled(默认情况下使用)。那么在活动一中你会做什么
onActivityResult(int requestCode, int resultCode, Intent data) {
// Handle the logic for the requestCode, resultCode and data returned...
}
要完成两个活动,请使用上面所述的与完成()相同的方法,并且已经设置了结果。
我想您在启动SettingsActivity
之前,正在调用main活动中的
finish()
方法。
你所描述的场景将以以下两种方式发生:
任何一个
您已经设置了
。android: noChen="true"
为Main Active
在AndroidManifest.xml
,这将导致Main Active
在按下后退键时自动完成
或
在切换到设置活动之前,您已经在您的主活动
中调用了完成()
,这会杀死它。当您按下后退按钮时,由于堆栈中没有其他活动被预设为弹出,它会返回主屏幕。
我正在建立一个简单的应用程序,我想从片段回到物理按钮的活动。我该怎么做?我试图杀死碎片,但它不起作用。
我有一个应用程序具有这种转换: 输入后,我必须检查一个标志。然后我必须将其作为意图(让我们说)传递给。在中做了一些事情后,它会在按下按钮后返回。我所做的只是再次传递值为true的,然后再次启动活动C。所以发生的是它创建了另一个活动C。 我想做的是,我不必启动一个新的活动C,只需调用super即可使用以前的C。onBackPressed()。但我无法传递intentX的新值。有没有其他方法来实现我想
在我的应用程序中,当我从后台回来时,我的活动会自动接近,并且它总是显示以前的活动。示例:我用活动A启动应用程序 }
访客详细信息 我在访问者活动中有一个对话框。当我点击图标,它将重定向到相机活动。然后点击Camera Activity中的Confirm按钮,将意图发送回前一个活动,即访客活动。问题是我应该如何将Camera活动的意图结果传递回Visitor活动中的对话框。意图数据应该放在Pass No Edit文本中。我使用的是材料对话框,没有任何附加到该对话框的片段。这一切都放在访客活动中。谁能帮帮我吗?谢谢
我在管理后台堆栈中的活动时遇到困难。如果用户点击通知,则活动B被打开,在某个时候活动B将被关闭,我需要打开活动A,但在这里我可以有两种情况,如果活动A已经打开并且在后台堆栈中,那么我想在不重新打开它的情况下返回到此,如果活动A从未打开过,那么我必须打开它。我如何实现这一点?
我在我的项目中有两个活动。在我的DrawerActivity中,我添加了导航抽屉,在其他活动即TabActivity中,我有片段列表。我试图在DrawerActivity中显示TabActivity的内容。是否有可能这样做,或者我有遵循另一种方法。我是新手开发者,请帮帮我。 draweractivity.java //我的第二个活动是TabActivity,这里我想在draweractivity中