转一篇简易易懂的android回调实现

转载 2016年08月29日 14:28:43
回调机制在 Android 监听用户界面操作中的体现

本文讨论以下两个内容:

1. 回调函数

2. 回调机制在 Android框架 监听用户界面操作中的作用

一 回调函数

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

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

1. 定义接口 Callback ,包含回调方法 callback()

2. 在一个类Caller 中声明一个Callback接口对象 mCallback

3. 在程序中赋予 Caller对象的接口成员(mCallback) 一个内部类对象如

new  Callback(){

     callback(){

         //函数的具体实现

     }

这样,在需要的时候,可用Caller对象的mCallback接口成员 调用callback()方法,完成回调.

 二、回调机制在 Android框架 监听用户界面操作中的作用

Android事件侦听器是视图View类的接口,包含一个单独的回调方法。这些方法将在视图中注册的侦听器被用户界面操作触发时由Android框架调用。回调方法被包含在Android事件侦听器接口中:

例如,Android 的view 对象都含有一个命名为 OnClickListener 接口成员变量,用户的点击操作都会交给 OnClickListener的 OnClick() 方法进行处理。

开发者若需要对点击事件做处理,可以定义一个 OnClickListener 接口对象,赋给需要被点击的 view的接口成员变量OnClickListener,一般是用 view 的setOnClickListener() 函数来完成这一操作。

当有用户点击事件时,系统就会回调被点击view的OnClickListener接口成员的OnClick()方法。

实例(对于Android界面上Button点击事件监听的模拟):

1.定义接口

public interface OnClickListener {

   

    public void OnClick(Button b);

 

}

2. 定义Button

public class Button {

  OnClickListener listener;

 

  public void click() {

    listener.OnClick(this);

  }

  public void setOnClickListener(OnClickListener listener) {

    this.listener = listener;

  }

}

3. 将接口对象OnClickListener 赋给 Button的接口成员

public class Activity {

  public Activity() {

  }

  public static void main(String[] args) {

    Button button = new Button();

    button.setOnClickListener(new OnClickListener(){

       @Override

       public void OnClick(Button b) {

                 System.out.println("clicked");

       }   

    });

    button.click(); //user click,System call button.click();

  }

}

简易易懂的android回调的实现

回调机制在 Android 监听用户界面操作中的体现 本文讨论以下两个内容: 1. 回调函数 2. 回调机制在 Android框架 监听用户界面操作中的作用 ...
  • Percycj
  • Percycj
  • 2015年11月07日 16:15
  • 244

MVP在Android中简易易懂的实现案例

前言最进想做了一个新的小项目,总想来点对自己来说新鲜的东西。后面看到Google老大推荐使用MVP架构,顿时觉得不试试看都不好说是羡慕它的小弟了。良心大哥也专门在Github推出了一个项目Androi...

接口回调实现简易购物车功能

  • 2016年07月28日 16:13
  • 654KB
  • 下载

Android简易实战教程--第四十七话《使用OKhttp回调方式获取网络信息》

在之前的小案例中写过一篇使用HttpUrlConnection获取网络数据的例子。在OKhttp盛行的时代,当然要学会怎么使用它,本篇就对其基本使用做一个介绍,然后再使用它的接口回调的方式获取相同的数...

Java回调的一种简易实现

回调在生活中的例子是特别多的,最简单的就是手机闹铃了。我们给手机设置了闹钟,在时间到了的时候,手机闹铃通知我们起床。 以下以一个非常简单的例子作为回调的一种实现。 首先,我们需要编写回调接口,就是需要...

HttpURLConnection+AsyncTask+接口回调实现简易get联网请求封装框架

首先搭建LoadInterFace接口(用于联网状态的各种状态):LoadInterFace public   interface LoadInterFace { //开启联网请求 public...

通熟易懂的java函数回调例子

  • 2013年01月13日 22:40
  • 1KB
  • 下载

史上最通俗易懂的接口回调

史上最通俗易懂的接口回调
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:转一篇简易易懂的android回调实现
举报原因:
原因补充:

(最多只允许输入30个字)