本文共 1286 字,大约阅读时间需要 4 分钟。
一。先借用知乎中最高票的答案来理解一下回调函数的意思 你到一个商店买东西,刚好你要的东西没有货,于是你在店员那里留下了你的电话,过了几天店里有货了,店员就打了你的电话,然后你接到电话后就到店里去取了货。在这个例子里,你的电话号码就叫回调函数,你把电话留给店员就叫登记回调函数,店里后来有货了叫做触发了回调关联的事件,店员给你打电话叫做调用回调函数,你到店里去取货叫做响应回调事件。回答完毕。
作者:常溪玲
链接:https://www.zhihu.com/question/19801131/answer/13005983
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
a callback is a piece of executable code that is passed as an argument to other code which is expected to call back (execute) the argument at some convenient time
硬翻译: 一个回调函数是作为另一个函数的参数的一个可执行的代码段 这个代码段在方便的时间来执行
通俗形象的解释: 把函数f2当做一个参数传给函数f1 并且在f1里适当的时间执行f2(下面的所有例子我都用f1,f2表示)
回调函数就是
预留给系统调用的函数,而且我们
往往知道该函数被调用的时机。这里有两点需要注意:第一点,我们写回调函数不是给自己调用的,而是准备给系统在将来某一时刻调用的;第二点,我们应该知道系统在什么情形下会调用我们写的回调函数。
Button button = (Button)this.findViewById(R.id.button);button.setOnClickListener(new Button.OnClickListener() { //回调函数 @override publicvoid onClick(View v) { buttonTextView.setText("按钮被点击了"); }});
上面的代码给按钮加了一个事件监听器,这其实就是"回调"最常见的应用场景之一。我们自己不会显示地去调用onClick方法。用户触发了该按钮的点击事件后,它会由Android系统来自动调用。
另外还有onCreate, onPause, onResume,onDestroy等等都是Android系统在Activity类中设置的回调函数,在Activity生命周期的不同阶段,Android系统会自动调用相应的方法。
整理自http://www.cnblogs.com/codingmyworld/archive/2011/07/22/2113514.html
https://www.zhihu.com/question/19801131
http://www.tuicool.com/articles/bM73U3