如何理解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();
}
}

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

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

上一篇:linux2.6 内存管理——概述


下一篇:Objective-C内存管理之引用计数