当前位置:   article > 正文

Android 接口回调

android 接口回调

Android接口回调讲解

网上看了一堆,感觉有点零散,我自己总结一下。

回调定义

正式定义

回调函数就是一个通过函数指针调用的函数。如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用来调用其所指向的函数时,就说这是回调函数。回调函数不是由该函数的实现方直接调用,而是在特定的事件或条件发生时由另外的一方调用的,用于对该事件或条件进行响应。
回调函数就是一个被作为参数传递的函数。在C语言中,回调函数只能使用函数指针实现,在C++、Python、ECMAScript、Java等编程语言中可以使用仿函数或匿名函数。

通俗定义

在A类中定义了一个方法,这个方法中用到了一个接口和该接口中的抽象方法,但是抽象方法没有具体的实现,需要B类去实现,B类实现该方法后,它本身不会去调用该方法,而是传递给A类,供A类去调用,这种机制就称为回调。
如下图:

s
更通俗解释:

小明写作业,遇到一道证明题,证明矩阵是正定的,但是小明不会啊,咋办呢?他就打了个电话给小红。
xm:这个证明题怎么做啊?
但是小红的作业中并没有这道题.
xh:你等我思考出来再告诉你。
小明听完后愉快地开机打游戏去了,约莫10分钟过去了,来电铃声突然想起,吓得小明手一抖就game over了,拿起手机一看,这不是小红嘛。
xh:这道题的解决方法我消息发给你了。
于是乎salty fish小明就这样写完了作业。

 
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

//接口帮助类
public class CallBackUtil {
//调用接口
private static CallBack cal;
public static void setCallBack(CallBack cbk){
cal=cbk;
}
public static void doCallBack(){
String info=“you have done this!”;
cal.solution(info);
}
}

import androidx.appcompat.app.AppCompatActivity;

import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.os.Handler;
//import android.widget.Button;
//import android.widget.Toast;

public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
CallBackUtil.setCallBack(this);
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
CallBackUtil.doCallBack();
}
}, 1000);
}
@Override
public void solution(String string) {
Log.e(“Enoment”, “receive method from CallBackUtil” + string);
}
}

博客https://blog.csdn.net/u010566681/article/details/52371359

脚本之家
https://www.jb51.net/article/74194.htm

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Cpp五条/article/detail/265011
推荐阅读
相关标签
  

闽ICP备14008679号