安卓实现监听与回调的区别
监听与回调的区别
监听 优于 回调
写了 监听,又写了 回调,会先执行 监听,然后在执行 会回调,
将代码后面 的 return 改为 true 之后,不在执行后面的,return false 会执行后面的 回调
回调机制与监听机制的区别
监听一个事件的发生,有事件源、事件、事件的监听者,事件源和事件的监听者是分开的,需要设置一个监听器上去
回调机制,事件源和事件的监听者是绑定在一起的,比如监听一个按钮的触摸事件,写一个类去继承Button,然后重写触摸事件的方法,当触摸按钮的时候就回去回调这么一个方法,也就是说,按钮本身就已经实现了监听的回调,它已经不需要我们去给它额外的设置监听器了。它本身可以内部回调。
基于回调的事件传播
1.重写控件一些内部的方法,当控件被用户做一些操作和回调方法相关动作的时候,那么系统会去回调我们重写的相关动作的方法。
public class MyButton extends AppCompatButton {
public MyButton(Context context) {
super(context);
}
public MyButton(Context context, AttributeSet attrs) {
super(context, attrs);
}
public MyButton(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
}
2.回调机制先从控件本身开始回调,执行完成之后再去执行Activity的回调,事件是向外传播的。
3.监听优先于回调,如果给控件设置了监听器,则优先执行监听器,然后再去执行回调。

浙公网安备 33010602011771号