大家好,又见面了,我是你们的朋友全栈君。
最近在看郭神的《第一行代码(第2版)》,温故知新,看到有很多地方在页面跳转后还加了一句:finish();,原来像下面代码这样用 Intent 从 A activity 跳到 B activity :
Intent intent = new Intent(A.this, B.class);
startActivity(intent);
当成功跳到 B activity 的时候再点击返回键,就再次返回到了 A activity 页面中。
而在跳转逻辑完成后加一句finish();:
Intent intent = new Intent(A.this, B.class);
startActivity(intent);
finish();
这样,当从 A activity 跳转到 B activity 的时候,再点击返回键,B activity 会跳转到 A activity 之前的那个 activity,而不会返回到 A activity (如果 A activity是主界面, 即 A activity 之前没有 activity,那么会直接返回到手机主界面)。
页面跳转时finish()方法应用的业务场景:
场景1:在很多APP中,首次进入APP时需要登录才能进入到APP首页,但成功登录跳转到APP的首页后,再按返回键,应该直接返回到手机主界面而不是登录界面。
场景2:在订单列表中,A activity 中点击新建订单进入新建订单 B activity 中,点击保存后,跳转到订单详情 C activity 中(在 B activity 的跳转到 C activity 时加入finish()方法),在 C activity 中点击返回键就可以直接返回到 A activity 中。
结论:跳转后在按返回键时,不需要返回到原 activity 就可以使用finish()方法
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/145178.html原文链接:https://javaforall.cn