您的位置:首页 > 编程语言 > Java开发

如何理解java中的回调

2014-10-16 09:38 309 查看
以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();
}
}


好了,简单理解,这就是回调
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: