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

java中通过接口实现自定义事件,动态设定行为

2017-01-14 11:09 453 查看

java中通过接口实现自定义事件,动态设定行为

有时候需要定义事件,自定义行为,或者动态设定行为,根据需要设置不同的行为,java中通过接口自定义事件,相当于C++中回调函数:

核心代码

假设类PhasePicker中showSelectedResult方法要设置动态行为,可以通过调用接口实现,代码如下:

public class PhasePicker{

//定义接口对象
OnSelectListener selListener;

//设置接口(回头调用该接口中函数)
public void setSelListener(OnSelectListener selListener) {
this.selListener = selListener;
}

private void showSelectedResult() {
//回调,动态行为,不同的实例行为不同
selListener.onSelect();

}

public interface OnSelectListener {  //内部类的形式定义接口
void onSelect();
}
}


在实现时,产生PhasePicker 对象后,可以设置不同的行为

public class TrafficCtrlActivity extends Activity {
//该方法中定义PhasePicker 局部对象,并动态设定行为
private void showMoreCtrlCommand(){
//定义一个PhasePicker对象
final PhasePicker phasePicker = new PhasePicker();
//为其设置接口(实现接口即回调函数)
phasePicker.setSelListener(new OnSelectListener(){

@Override
public void onSelect() { // 实现内容即回调函数
// TODO 自动生成的方法存根
int sel = phasePicker.getCurrentItem();

if (sel < CommonData.SPECIAL_PHASE_COMMAND.length){
setManulCtrl(CommonData.SPECIAL_PHASE_COMMAND[sel][1]);
}
}

});

}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java
相关文章推荐