无法在BlackBerry开发中设置通用监听器

时间:2012-06-12 11:35:19

标签: blackberry

我正在尝试为自定义按钮和位图字段设置一个公共监听器。我能够在监听器中访问但无法区分两个字段。

private class MeaningsDetailsPageListner implements FieldChangeListener{
    public void fieldChanged(Field field, int arg1) {
        Dialog.alert("Hi");
        if(field == bField){
            Dialog.alert("Image Clicked");
        }else if(field == wordBtn){
            Dialog.alert("Button Clicked!!");
        }
    }
}

在下面的代码中,wordBtn是我的自定义按钮,另一个是BitmapField。我正在收到Hi警报,但无法进一步区分。

任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:0)

虽然我看到了您要做的事情,但最好还是将FieldChangeListener作为匿名类单独添加到每个字段中。这样,在fieldChanged内测试相等性时,您不必担心将Field强制转换为正确的类型。

ButtonField b = new ButtonField("Hello!");
b.setChangeListener(new FieldChangeListener() {

    public void fieldChanged(Field field, int context) {
        Dialog.alert("Button clicked");
    }
});