我经常在黑莓开发中看到以下代码。它在一个字段上注册一个监听器,当触发器被触发时(在下面的例子中焦点在一个字段上),执行一些代码。这是设计模式的一部分吗?如何实际调用focusChanged?
FocusChangeListener focusListener = new FocusChangeListener() {
public void focusChanged(Field field, int eventType) {
// TODO Auto-generated method stub
}
}
field.setFocusListener(focusListener);
答案 0 :(得分:2)
操作系统或靠近操作系统的某些BB API会调用焦点更改。每当有人滚动或触摸一个字段时,焦点就会改变。可以想象它有点像桌面应用程序中的窗口。
当您浏览控件时,您的应用会收到焦点更改通知,通知您的基本经理,并且它会一直冒泡直到处理完毕。
类似于ButtonClickListener等。它们基本上是被触发的事件(用Windows术语来思考),并且调用订阅这些事件的ChangeListeners。