[英]How to finish Activity when starting other activity in Android?
我之前完成活动时遇到问题。 我想开始另一个活动并完成当前的活动。 当我使用finish
它没有退出当前活动。
我怎样才能退出活动?
你需要intent
当前的context
,以另一个活动先用startActivity
。 之后,您可以从重定向的位置finish
当前的activity
。
Intent intent = new Intent(this, FirstActivity.class);// New activity
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
finish(); // Call once you redirect to another activity
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)
- 清除活动堆栈。 如果您不想清除活动堆栈。 请不要使用那个标志。
Intent i = new Intent(this,NewLaunchingActivity.Class);
i.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); // Call Only, if you dont want to come back to this activity on back press, else ignore this line
startActivity(i);
finish();
最好的——也是最简单的——解决方案可能是这样的:
Intent intent = new Intent(this, OtherActivity.class);
startActivity(intent);
finishAndRemoveTask();
finishAndRemoveTask()
文档:
当您的活动完成并且应该关闭并且任务应该作为完成任务的根活动的一部分被完全删除时调用它。
这就是你要找的吗?
launchMode = "singleInstance"
您的活动 A: launchMode = "singleInstance"
FirstActivity.fa.finish();
并调用新的 Intent。startActivity(new Intent(context, ListofProducts.class)
.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)
.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK));
例如:您正在使用两个活动,如果您想从活动 A 切换到活动 B
像这样简单地给予。
Intent intent = new Intent(A.this, B.class);
startActivity(intent);
finish();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.