码迷,mamicode.com
首页 > 编程语言 > 详细

如何理解java中的回调

时间:2014-10-16 11:05:12      阅读:170      评论:0      收藏:0      [点我收藏+]

标签:android开发

以android中的Button的setOnClickListener这个回调为例;

Button button = (Button)this.findViewById(R.id.button);
button.setOnClickListener(new Button.OnClickListener() {

  //回调函数
  @override
  publicvoid onClick(View v) {
    buttonTextView.setText("按钮被点击了");
  }
});

那么我们如何实现呢;

首先定义OnClickListener接口

package com.listener;

/**
 * 点击监听器接口
 * @author CodingMyWorld
 *
 */
publicinterface MyOnClickListener {
    publicvoid onClick();
}

再定义Button按钮这个类

package com.listener;

publicclass MyButton {
    private MyOnClickListener listener;
    
    /**
     * 设置具体点击监听器
     * @param listener 点击监听器实现类
     */
    publicvoid setOnClickListener(MyOnClickListener listener) {
        this.listener = listener;
    }
    
    /**
     * 按钮被点击
     */
    publicvoid doClick() {
        listener.onClick();
    }
}

最后编写一个测试类

package com.listener;

publicclass Client {
    publicstaticvoid main(String[] args) {
        MyButton button =new MyButton();
        //注册监听器
        button.setOnClickListener(new MyOnClickListener() {

            @Override
            publicvoid onClick() {
                System.out.println("按钮被点击了");
                
            }
            
        });
        //模拟用户点击
        button.doClick();
    }
}


好了,简单理解,这就是回调

如何理解java中的回调

标签:android开发

原文地址:http://blog.csdn.net/jys1115/article/details/40143215

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!