,因为自由度高,其他的用around()都可以实现
AOP处理android中的重复点击
短时间的重复点击如果不做处理会带来不好的体验且可能引发问题(打开多个页面,多次提交,数据错乱),之前我写过一篇文章使用代理模式...+反射来处理重复点击的问题:Android-如何优雅的处理重复点击 ,虽然这种方式能达到目的且还算灵活,但还是存在侵入性,对于业务逻辑不是完全透明,所以我们需要使用跟好的方式来处理;
AOP用于处理某一类独立的问题...,非常契合屏蔽重复点击的需求,我们只需要hook住原先的点击事件(转确的说是点击事件后的处理流程),判断是不是重复点击,是则过滤掉不让它执行,否则就正常执行;
代码
在Android中进行AspectJ...,已过滤");
}
}
}
测试
//普通方式 ok
mBtn.setOnClickListener(new View.OnClickListener() {
@Override
public...:表示android.view.View.OnClickListener该类(或接口)下的所有名为onClick,参数个数未知,参数类型未知的函数
总结
我们通过面向切面思想来过滤掉了重复点击的事件