我是靠谱客的博主 受伤诺言,最近开发中收集的这篇文章主要介绍Android 一篇文章轻松搞懂什么是Callback回调,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

很多人刚接触Callback回调时应该是很懵的。
今天通过这篇文章,让你轻松了解什么是Callback回调。

首先看下官方的解释:

回调函数就是一个通过函数指针调用的函数。如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用来调用其所指向的函数时,我们就说这是回调函数。回调函数不是由该函数的实现方直接调用,而是在特定的事件或条件发生时由另外的一方调用的,用于对该事件或条件进行响应。

回调机制:

⑴定义一个回调函数;
⑵提供函数实现的一方在初始化的时候,将回调函数的函数指针注册给调用者;
⑶当特定的事件或条件发生的时候,调用者使用函数指针调用回调函数对事件进行处理。

回调的通俗解释:简单的来说,就是把你自己包含了电话、QQ、微信的通讯簿交给别人,别人就持有了你的通讯簿。当别人有你需要知道的事情的时候,通过相应的渠道电话、QQ或微信告诉你。这就是回调。

回调的步骤只需4步:
1.定义一个接口类,定义需要的方法。
2.声明一个接口类对象,提供一个设置类对象的方法。
3.创建接口类对象,重写其中的方法,把该类对象,通过对方的方法传递过去,对方就持有了该对象
4.对方通过该对象,调用该类对象重写的方法,把值传递过来,相当于set了一个值过来。

下面用一个例子来说明这4个步骤,我们最常见的给RecyclerView添加点击监听回调事件。

1.定义一个接口类,里面定义需要的方法

 public interface OnItemClickListener {
void onItemClick(View view, int position);
}

2.需要在Adapter中声明一个OnItemClickListener接口类对象,对外提供一个设置OnItemClickListener对象的方法,相当于set方法。

protected OnItemClickListener mOnItemClickListener;
public void setOnItemClickListener(OnItemClickListener listener) {
this.mOnItemClickListener = listener;
}

3.在Activity中,创建Adapter调用3中的setOnItemClickListener方法,传入OnItemClickListener的实例对象。

mBaseAdapter.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(View view, int position) {
//拿到对应的数据,进行处理
}
});

4.在Adatper中给对应的控件添加监听,然后通过OnItemClickListener实例对象,回调自己里面定义的方法,进行值的传递。

 mConvertView.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
if (mOnItemClickListener != null) {
mOnItemClickListener.onItemClick(view,position);
}
}
});

这样就完成了一个完整的回调过程。

是不是很简单!

最后

以上就是受伤诺言为你收集整理的Android 一篇文章轻松搞懂什么是Callback回调的全部内容,希望文章能够帮你解决Android 一篇文章轻松搞懂什么是Callback回调所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(50)

评论列表共有 0 条评论

立即
投稿
返回
顶部