"我们之所以成功,是因为站在巨人的肩膀上!"
回调函数(Callback)
安卓开发中,我们经常遇到回调函数(Callback),例如onClickListener,onItemClickListener,等等....如何更好地理解这种程序逻辑呢?下面我将按照自己的理解,对回调函数进行详细分析.
一.举例说明:
双十一,我在淘宝买了架飞机.物流公司把飞机打包成快递.------- 1物流公司发快递,快递包裹在飞速赶来我家的路上.
我告诉小区传达室:快递这几天会到,到了的时候给我打个电话,我来取.------- 2
过了几天,我的快递到了!
传达室给我打电话,让我去取.-------- 3
我得到了消息,去传达室拿到了喜爱的飞机模型.------ 4
二.对应关系:
1.快递包裹:对应某事件,例如按钮点击事件;按钮长按事件;页面滑动事件等等.
说明:不论接没接到快递,但是快递已经存在了.也就是说,不论你是否点击了屏幕,滑动了屏幕,但是这些事件是客观存在的,只不过没有触发.
2.告知传达室:对应回调函数具体逻辑,即写在回调函数内的,处理事件的业务逻辑.代码示例:
mButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//业务逻辑
...
...
}
});
3.快递到达:对应事件的触发,此时系统才调用回调函数,也就是调用内部的方法.
代码示例:
mButton.setOnClickListener...//触发事件时
4.取得快递:系统开始执行已经写好的,回调函数内的业务逻辑.例如点击了某按钮后,成功跳转到另外一个Activity.
三.回调函数核心思想
按上面的例子来说,即有且只有当快递到达小区时,传达室才会通知我.
那么,回调函数的核心就是:
有且只有触发相应事件时,才会调用相应的代码逻辑.