Android 创建第一个活动实例后,如何从一个活动移动到另一个活动?
我有Android 创建第一个活动实例后,如何从一个活动移动到另一个活动?,android,Android,我有MainActivity.java,我想从中打开Activity A 假设我正在从main Activity打开活动A,我将使用以下代码: Intent i = new Intent(this,A.class); startActivity(i); 当我在活动A中时,我按下后退按钮。后退按钮将完成活动A并返回到main活动。因此,如果我重新启动活动A,它将从一开始重新启动。这不是我想要的。我只希望从活动a创建一个实例,因此如果我从a移动到MainActivity任意次数,它将不会重新启动,
MainActivity.java
,我想从中打开Activity A
假设我正在从main Activity
打开活动
A
,我将使用以下代码:
Intent i = new Intent(this,A.class);
startActivity(i);
当我在活动A中时,我按下后退按钮。后退按钮将完成活动A并返回到main活动。因此,如果我重新启动活动A,它将从一开始重新启动。这不是我想要的。我只希望从活动a创建一个实例,因此如果我从a移动到MainActivity任意次数,它将不会重新启动,它将保持最后一个状态。当MainActivity启动另一个时,新活动,活动A被推到堆栈顶部并聚焦上一个活动保留在堆栈中,但已停止当活动停止时,系统将保留其用户界面的当前状态。 当用户按下“后退”按钮时,当前活动从堆栈顶部弹出(活动被销毁),上一个活动恢复(其UI的上一个状态被恢复)。堆栈中的活动从不重新排列,只在当前活动启动时从堆栈中推送到堆栈上,然后在用户使用“后退”按钮离开堆栈时弹出。因此,后堆栈作为“后进先出”对象结构运行 注意:一次可以在后台执行多个任务。但是,如果用户同时运行多个后台任务,系统可能会开始销毁后台活动以恢复内存,从而导致活动状态丢失 在MainActivity中,切换到Activity A并按下back按钮,Activity A将从堆栈中删除并销毁 再次从MainActivity导航到,活动自销毁后重新创建。这就是它的工作原理 有关更多详细信息,请查看以下链接中的后堆栈 关于如何开展活动的说明。有四种模式与Intent对象中的活动标志(FLAG_activity_*constants)结合使用,以确定调用活动处理Intent时应该发生什么 它们是:
但一旦活动被销毁,并且您需要导航到该活动,则会重新创建该活动 只是想知道不应该将
A.class
作为第二个参数而不是A.java
?你是对的,很抱歉我更正了它。你可以直接调用finish()。但是如果我调用finish,它将关闭实际活动,使重新排序到前台的活动处于活动状态,但不会关闭它。感谢您的详细解释!所以你是说我不能用Intent
s实现我想要的。我应该使用Tab
s吗?
android:launchMode