一,回调函数定义

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

我的理解就是,在某个事件发生时,调用函数,实现异步的通信。比如,用户在dialog里面按键操作调整某个值之后,需要在主界面显示这个值,使用回调函数,在主界面改变这个值。就像我干完活了,然后打电话,告诉你结果。

二,实例。

以dialog里面按键调节某个值,主界面显示这个值,并跟随变化。

1,回调函数在Android中属于一个接口类,首先在dialog中定义一个接口。

public interface OnCallBack {void soundVelocityParamChange();//功能1void dialogClose();             //功能2//功能3//...    }

2,定义一个接口对象。

private DialogViewParamSoundVelocity.OnCallBack callBack;

3,定义⼀个⽅法可以对当前接⼝的对象进⾏赋予。

此方法会在主界面使用。

public void setCallBack(DialogViewParamSoundVelocity.OnCallBack callBack) {this.callBack = callBack;}

4,在需要的地方放置回调函数。

@Overridepublic boolean onKeyDown(int keyCode, KeyEvent event) {if (keyCode == KeyEvent.KEYCODE_BACK) {callBack.dialogClose(); //callBackreturn true;}return super.onKeyDown(keyCode, event);}

以上都是在dialog界面里面操作。以下在主界面操作。

5,在主界面实现回调函数。

DialogViewParamSoundVelocity dialogViewSoundVelocity = new DialogViewParamSoundVelocity(mActivity);dialogViewSoundVelocity.showBottom();
dialogViewSoundVelocity.setCallBack(new DialogViewParamSoundVelocity.OnCallBack() {@Overridepublic void soundVelocityParamChange() {tv_sound_velocity_value.setText(GlobalPublicVariable.passageway.getSoundVelocity());}@Overridepublic void dialogClose() {GlobalPublicVariable.dialogIsOpen = false;// ll_sound_velocity.setClickable(true);}
});

可以看出,在主界面中的实现函数里,可以进行回调之后的一些操作,比如更改数据,保存数据或其他一些动作等。

三,总结。

Java 中没有指针的概念,通过接口和内部类的方式实现回调的功能:

待续

Android开发——回调函数实例相关推荐

  1. android入门经典dvd,Android开发入门经典实例 - My notes

    /* Android开发入门经典实例 */ My notes /* 安卓开发入门 */ 涉及到了Android开发中的一些关键知识,比如: 配置开发环境 App中一个屏幕的抽象: Activity 屏 ...

  2. Android开发入门经典实例

    开发实例概述 今天带大家做一个简单的Android App,这个App会显示创新工程实践老师们的照片和信息,不妨先看一看效果: 虽然这个App非常简单,但是涉及到了Android开发中的一些关键知识, ...

  3. android activity 回调函数,Android Activity的生命周期

    Activity的生命周期 Android系统根据activity的所处不同阶段对应的唤起其特定的回调函数来执行代码.activity的一系列有序的生命周期回调函数.本文将来讨论下activity各阶 ...

  4. python回调函数实例详解_Python回调函数用法实例详解

    本文实例讲述了Python回调函数用法.分享给大家供大家参考.具体分析如下: 一.百度百科上对回调函数的解释: 回调函数就是一个通过函数指针调用的函数.如果你把函数的指针(地址)作为参数传递给另一个函 ...

  5. Android开发——回调(Callback)

    1. 回调函数的定义: 在A类中定义了一个方法,这个方法中用到了一个接口和该接口中的抽象方法,但是抽象方法没有具体的实现,需要B类去实现,B类实现该方法后,它本身不会去调用该方法,而是传递给A类,供A ...

  6. java 类确定运行时间_java回调函数实例:实现一个测试函数运行时间的工具类

    下面使用java回调函数来实现一个测试函数运行时间的工具类: 如果我们要测试一个类的方法的执行时间,通常我们会这样做: public class TestObject { /** * 一个用来被测试的 ...

  7. python回调函数实例详解_python 简单的例子下详解回调函数

    回调的英文定义: A callback is a function that is passed as an argument to another function and is executed ...

  8. android开发项目app实例_APP开发发展前景好项目

    APP开发发展前景好项目,在竞争激烈的网站建设行业,我们始终坚持以技术为核心,组建强大的技术开发团队,自主开发独立项目管理系统且安全稳定.简单易用:在业内具有强大的竞争力. A:我们拥有标准化APP开 ...

  9. android开发项目app实例!我在华为做Android外包的真实经历!深度好文

    都说Android最近行情不好,很多人都遇到瓶颈或放弃或转行.其实这种情况17年18年也是如此,相对比之下,个人认为今年比去年好多了,Android接下来将会走向复苏的春天. 自从Google开始推出 ...

  10. java 自定义函数的调用_Java/Android中的函数调用回调函数自定义回调函数

    在做Android自定义控件时遇到要自定义回调函数的问题,想想自己还暂时没有那么精深的技术,赶紧返过头回来再重新研究Java中回调函数的问题.然而不幸的是,网上太多杂乱的帖子和博客都是转来转去,而且都 ...

最新文章

  1. python脚本忽略MySQLdb的warnings
  2. Java实现doc或xls转PDF
  3. 【jQuery笔记Part1】02-jQuery代码风格
  4. 基于Kears的Reuters新闻分类
  5. medusa 使用教程
  6. w7计算机文件夹打开怎么设置密码,win7电脑文件夹怎么设置密码
  7. 【数学分析】集合 ① ( 集合概念 | 集合表示 | 常用的数集合 | 集合的表示 )
  8. VTK可交互三维坐标轴
  9. 常用小波基函数以及多尺度多分辨率的理解1
  10. 监听settings
  11. G1的mixed gc详细过程
  12. android电量百分比,Android P 状态栏显示电量百分比
  13. ubuntu 通过文件夹打开终端,通过终端打开文件夹
  14. android开发获取签名错误,android开发打包签名出现-failed to export application的解决思路...
  15. 双USB 蓝牙 MCU芯片 CH583/CH582/CH581引脚信息 跟异同
  16. 数据结构:图(一) 图的基本知识
  17. C语言输出任意位数小数
  18. 自动解魔方机器人 [开篇]
  19. sqlserver分页
  20. detectron2使用教程20200824_3

热门文章

  1. 推荐免费下载380套大型商业源码
  2. onlyoffice开发java_OnlyOffice功能及演示
  3. Error: could not open `C:\Program Files\Java\jre6\lib\i386\jvm.cfg'
  4. 弱电工程师和网络工程师有什么区别?工作内容是什么?
  5. 首个Windows 11 官方ISO镜像下载
  6. Protel99SE 50个常见问题解决方法与技巧
  7. 网易面经(内含腾讯ieg/IOS一面面经)
  8. 智能算法-模拟退火-粒子群-鱼群算法
  9. 山东大学软件学院计算机组成原理课程设计实验四
  10. 软件开发流程:需求评审流程