-1
我正在为我的Blackberry项目添加BitmapField
。如何将Click事件添加到BitmapField(fieldchangeListener)?
我使用FieldChangeListener
实现了我的课程,并将FieldChangeListener
方法添加到我的课程中。我甚至为该特定的位图字段添加了setChangeListener
,但它没有响应点击事件。
我该如何解决这个问题?
我正在为我的Blackberry项目添加BitmapField
。如何将Click事件添加到BitmapField(fieldchangeListener)?
我使用FieldChangeListener
实现了我的课程,并将FieldChangeListener
方法添加到我的课程中。我甚至为该特定的位图字段添加了setChangeListener
,但它没有响应点击事件。
我该如何解决这个问题?
首先,BitmapField在默认情况下是不可聚焦的,因此您需要继承并覆盖isFocusable来修复该问题。然后覆盖navigationclick来触发fieldChanged事件。代码段最小字段:
import net.rim.device.api.ui.component.BitmapField;
public class ClickableBitmapField extends BitmapField {
public boolean isFocusable() {
return true;
}
protected boolean navigationClick(int status, int time) {
fieldChangeNotify(0);
return true;
}
}
除此之外,你可能要提供当你的领域是重点的一些指示(除非你只关心触摸屏设备)。默认实现将只在你的位图的任何透明区域绘制一个高亮区。你可以通过覆盖drawFocus来改变它,也可以使用onFocus和onUnfocus来改变焦点状态改变时显示的位图。
你可以发布一些代码,以便我们可以看到你到目前为止? – taylonr 2010-08-16 13:36:13