zoukankan      html  css  js  c++  java
  • Android中的回调Callback

    回调就是外部设置一个方法给一个对象, 这个对象可以执行外部设置的方法, 通常这个方法是定义在接口中的抽象方法, 外部设置的时候直接设置这个接口对象即可.


    例如给安卓添加按钮点击事件, 我们创建了OnClickListener接口 实现了其中的onClick方法, 在合适的时机(按钮被点击的时候) , 就会执行我们实现的onClick()方法. 这个方法就被回调了 . 


    1. 如何定义一个回调


    a. 定义接口 : 在类中定义一个Interface, 并在接口中定义一个抽象方法;

    b. 接口对象 : 在类中定义一个该接口的成员变量;

    c. 设置对象 : 在类中定义一个公共的方法, 可以设置这个接口的对象, 调用该方法给接口对象成员变量赋值;

    d. 调用方法 : 在合适的位置调用接口对象中的方法;


    2. 代码实例

    public class Employee {
    	/*
    	 * 定义回调接口的成员变量
    	 */
    	private Callback mCallback;
    	/*
    	 * 声明回调接口
    	 */
    	public interface Callback{
    		public abstract void work();
    	}
    	/*
    	 * 设置回调接口对象成员变量
    	 */
    	public void setCallback(Callback callback) {
    		this.mCallback = callback;
    	}
    	/*
    	 * 调用回调接口对象中的方法
    	 */
    	public void doWork() {
    		mCallback.work();
    	}
    }

    public class Boss {
    	private Employee employee;
    	/*
    	 * 为Employee设置回调函数, 在这里定义具体的回调方法
    	 */
    	public void setCallback() {
    		employee.setCallback(new Employee.Callback() {
    			@Override
    			public void work() {
    				System.out.println("work");
    			}
    		});
    	}
    }





  • 相关阅读:
    SQLdiag-配置文件-ProfilerCollector
    SQLdiag-配置文件-PerfmonCollector
    SQLdiag-初识
    Trace-跟踪高消耗的语句需添加哪些事件
    RML Utilities for SQL Server
    【译】第十五篇 Integration Services:SSIS参数
    修改数据文件和日志文件路径
    Trace-导出已有的服务器端跟踪
    iphoneX的适配问题
    添加阿里巴巴图标,让你页面小图标都是CSS3写成
  • 原文地址:https://www.cnblogs.com/hanshuliang/p/4215461.html
Copyright © 2011-2022 走看看