安卓模拟使用闭包功能
业务场景:使用闭包来实现跨页面传值。比如A,B,C三个页面,跳转顺序是A->B->C,A的一些值需要传递到C页面,但是中间需要跳转到B页面,这个过程中B页面不需要关心A页面所传递的值, 这种情况下,使用闭包的思想能够很好的处理这种问题。
好处:B页面只关心自己的业务逻辑,不需要关心A,C的值,扩展性强,A传递的值结构改变也不会影响到B页面本身的逻辑。
实现方式:使用接口方式。定义ClosePack接口,有excute方法,需要传递的代码块可以实现这个接口。比如MyClosePack中就是具体需要执行的代码,同时MyClosePack 实现Serializable,这样能够通过intent进行页面之间传递。