如何理解java回电话

同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();
}

再定义Buttonbutton这个类

package com.listener;

publicclass MyButton {
    private MyOnClickListener listener;
    
    /**
     * 设置详细点击监听器
     * @param listener 点击监听器实现类
     */
    publicvoid setOnClickListener(MyOnClickListener listener) {
        this.listener = listener;
    }
    
    /**
     * button被点击
     */
    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();
    }
}


行。简单的理解,这是一个回调

版权声明:本文博客原创文章,博客,未经同意,不得转载。

posted @ 2015-07-30 13:36  hrhguanli  阅读(231)  评论(0编辑  收藏  举报