【Android 应用开发】Android中的回调Callback

举报
韩曙亮 发表于 2022/01/11 00:09:45 2022/01/11
1.8k+ 0 0
【摘要】 回调就是外部设置一个方法给一个对象, 这个对象可以执行外部设置的方法, 通常这个方法是定义在接口中的抽象方法, 外部设置的时候直接设置这个接口对象即可. 例如给安卓添加按钮点击事件, 我们创建了OnClickListener接口 实现了其中的onClick方法, 在合适的时机(按钮被点击的时候) , 就会执行我们实现的onCli...

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


例如给安卓添加按钮点击事件, 我们创建了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");
      			}
      		});
      	}
      }
  
 





文章来源: hanshuliang.blog.csdn.net,作者:韩曙亮,版权归原作者所有,如需转载,请联系作者。

原文链接:hanshuliang.blog.csdn.net/article/details/16887509

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

作者其他文章

评论(0

抱歉,系统识别当前为高风险访问,暂不支持该操作

    全部回复

    上滑加载中

    设置昵称

    在此一键设置昵称,即可参与社区互动!

    *长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

    *长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。