前言
在开发中我们经常会遇到以下情况,比如以下场景:在修改密码的时候,要执行以下步骤:
1. 输入手机号获取验证码
2. 输入验证码
3. 输入新密码
1. 第一种情况
可以把修改密码这三个步骤看成是一个事务,任何一个环节中断都要重新回到第一个步骤再次执行。这就需要我们在每一步执行完之后执行所在Activity的Finish()方法,结束这个步骤,当最后一步返回的时候,就会重新回到修改密码按钮界面了,这个时候点击修改密码还是从输入手机号获取验证码开始。
2. 第二种情况
当然了,有的需求比较不正常,他需要在这三个步骤之间还没结束的时候可以返回上一个步骤,当新密码输入完毕,点击提交的时候,就不能回到上一步骤,而是回到有修改密码的页面,这个时候我们就不能直接在前两个步骤结束的时候调用finish()方法了,而是在第三个步骤执行完之后结束这个三个步骤的活动(Activity)。
实现:
假设三个步骤依次是ActivityA,ActivityB,ActivityC,
那么需要在ActivityA:
public static ActivityA instance = null;
在ActivityA的onCreate方法中:
instance = ActivityA.this;
同理,在ActivityB中也要设置:
public static ActivityB instance = null;
在ActivityB的onCreate方法中:
instance = ActivityB.this;
那么在ActivityC的操作执行完之后,可以直接调用以下方法结束这三个活动(Activity):
//结束第一步的ActivityA
ActivityA.instance.finish();
//结束第二步的ActivityB
ActivityB.instance.finish();
//结束本身ActivityC
finish();
大致的两种情况已经介绍完了,大家在自己的项目中灵活应用哦!
特此记录!