android java函数_java、android 回调函数

入行很久了,一直没有学会总结,每次遇到以前解决过的问题,但又想不出之前是怎么解决的时候总是要耗费好多的时间再去思考,再去查阅资料,最近突然感悟到了,想为自己整理总结常用的东西。

1.什么是回调函数

下面说说什么是回调函数,在C或者C++中回调函数的定义:程序在调用一个函数时,将自己的函数的地址作为参数传递给程序调用的函数时(那么这个自己的函数称回调函数)。Java中没有指针,不能传递方法的地址,一般采用接口回调实现:把实现某一接口的类创建的对象的引用赋给该接口声明的接口变量,那么该接口变量就可以调用被类实现的接口的方法。

2.java回调函数的实现机制

(1)定义一个回调函数的接口Callback

(2)在调用的类中Caller中声明一个 Callback 对象并实现。(在android中我们进程实用内部类的方法对callback进行处理)

(3)当特定条件或事件发生时,调用函数使用回调函数Callback的实现,对事件进行处理。

3.举例说明

package com.trace;

public class View {

private OnTouchListener onTouchListener;

public void setOnTouchListener(OnTouchListener onTouchListener){

this.onTouchListener = onTouchListener;

}

public void OnViewTouch(){

if(onTouchListener!=null){

onTouchListener.onTouch("123");

}

}

public interface OnTouchListener{

boolean onTouch(String event);

}

}

这是模仿android view的touch事件

package com.trace;

public class ViewImpl implements View.OnTouchListener{

@Override

public boolean onTouch(String event) {

// TODO Auto-generated method stub

System.out.println(event);

return false;

}

public static void main(String[] args){

View view = new View();

view.setOnTouchListener(new ViewImpl());

view.OnViewTouch();

}

}

这里可以理解为android 中的 button,textview 等视图组建,main函数可以理解为android中一个activity, view.OnViewTouch()可以理解为android touch事件的触发。我们可以看到运行的结果是输出123。这就验证了 当特定条件或事件发生时, 调用函数使用回调函数Callback的实现,对事件进行处理 这句话。

4.结合android 小结一下回调事件

android中大量使用了回调机制,如view 中的 onClick(), onLongClick(), onTouch(), onCreateContextMenu() 等。所以掌握好回调函数,有利于我们理解android的事件机制。

总之回调函数就是通过实现类来完成实际要操作的动作。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值