同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();
}
}
行。简单的理解,这是一个回调
版权声明:本文博客原创文章,博客,未经同意,不得转载。