Android开发——回调函数实例
一,回调函数定义
回调函数就是一个通过函数指针调用的函数。如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用来调用其所指向的函数时,我们就说这是回调函数。回调函数不是由该函数的实现方直接调用,而是在特定的事件或条件发生时由另外的一方调用的,用于对该事件或条件进行响应。
我的理解就是,在某个事件发生时,调用函数,实现异步的通信。比如,用户在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开发——回调函数实例相关推荐
- android入门经典dvd,Android开发入门经典实例 - My notes
/* Android开发入门经典实例 */ My notes /* 安卓开发入门 */ 涉及到了Android开发中的一些关键知识,比如: 配置开发环境 App中一个屏幕的抽象: Activity 屏 ...
- Android开发入门经典实例
开发实例概述 今天带大家做一个简单的Android App,这个App会显示创新工程实践老师们的照片和信息,不妨先看一看效果: 虽然这个App非常简单,但是涉及到了Android开发中的一些关键知识, ...
- android activity 回调函数,Android Activity的生命周期
Activity的生命周期 Android系统根据activity的所处不同阶段对应的唤起其特定的回调函数来执行代码.activity的一系列有序的生命周期回调函数.本文将来讨论下activity各阶 ...
- python回调函数实例详解_Python回调函数用法实例详解
本文实例讲述了Python回调函数用法.分享给大家供大家参考.具体分析如下: 一.百度百科上对回调函数的解释: 回调函数就是一个通过函数指针调用的函数.如果你把函数的指针(地址)作为参数传递给另一个函 ...
- Android开发——回调(Callback)
1. 回调函数的定义: 在A类中定义了一个方法,这个方法中用到了一个接口和该接口中的抽象方法,但是抽象方法没有具体的实现,需要B类去实现,B类实现该方法后,它本身不会去调用该方法,而是传递给A类,供A ...
- java 类确定运行时间_java回调函数实例:实现一个测试函数运行时间的工具类
下面使用java回调函数来实现一个测试函数运行时间的工具类: 如果我们要测试一个类的方法的执行时间,通常我们会这样做: public class TestObject { /** * 一个用来被测试的 ...
- python回调函数实例详解_python 简单的例子下详解回调函数
回调的英文定义: A callback is a function that is passed as an argument to another function and is executed ...
- android开发项目app实例_APP开发发展前景好项目
APP开发发展前景好项目,在竞争激烈的网站建设行业,我们始终坚持以技术为核心,组建强大的技术开发团队,自主开发独立项目管理系统且安全稳定.简单易用:在业内具有强大的竞争力. A:我们拥有标准化APP开 ...
- android开发项目app实例!我在华为做Android外包的真实经历!深度好文
都说Android最近行情不好,很多人都遇到瓶颈或放弃或转行.其实这种情况17年18年也是如此,相对比之下,个人认为今年比去年好多了,Android接下来将会走向复苏的春天. 自从Google开始推出 ...
- java 自定义函数的调用_Java/Android中的函数调用回调函数自定义回调函数
在做Android自定义控件时遇到要自定义回调函数的问题,想想自己还暂时没有那么精深的技术,赶紧返过头回来再重新研究Java中回调函数的问题.然而不幸的是,网上太多杂乱的帖子和博客都是转来转去,而且都 ...
最新文章
- python脚本忽略MySQLdb的warnings
- Java实现doc或xls转PDF
- 【jQuery笔记Part1】02-jQuery代码风格
- 基于Kears的Reuters新闻分类
- medusa 使用教程
- w7计算机文件夹打开怎么设置密码,win7电脑文件夹怎么设置密码
- 【数学分析】集合 ① ( 集合概念 | 集合表示 | 常用的数集合 | 集合的表示 )
- VTK可交互三维坐标轴
- 常用小波基函数以及多尺度多分辨率的理解1
- 监听settings
- G1的mixed gc详细过程
- android电量百分比,Android P 状态栏显示电量百分比
- ubuntu 通过文件夹打开终端,通过终端打开文件夹
- android开发获取签名错误,android开发打包签名出现-failed to export application的解决思路...
- 双USB 蓝牙 MCU芯片 CH583/CH582/CH581引脚信息 跟异同
- 数据结构:图(一) 图的基本知识
- C语言输出任意位数小数
- 自动解魔方机器人 [开篇]
- sqlserver分页
- detectron2使用教程20200824_3
热门文章
- 推荐免费下载380套大型商业源码
- onlyoffice开发java_OnlyOffice功能及演示
- Error: could not open `C:\Program Files\Java\jre6\lib\i386\jvm.cfg'
- 弱电工程师和网络工程师有什么区别?工作内容是什么?
- 首个Windows 11 官方ISO镜像下载
- Protel99SE 50个常见问题解决方法与技巧
- 网易面经(内含腾讯ieg/IOS一面面经)
- 智能算法-模拟退火-粒子群-鱼群算法
- 山东大学软件学院计算机组成原理课程设计实验四
- 软件开发流程:需求评审流程