以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();
}
}
好了,简单理解,这就是回调
原文:http://blog.csdn.net/jys1115/article/details/40143215