自定义Horizo​​ntalFieldManager中的子字段事件处理问题

时间:2012-05-11 14:37:41

标签: blackberry event-handling

我正在尝试创建一个自定义列表字段,其中每行有两个以上的可点击按钮。为此我已经自定义了Horizo​​ntalFieldManager并创建了自己的管理器来对齐字段元素。现在用户界面非常好。

但是,我正在努力处理这两个事件的工作。

Step-1 我已经在行中添加了按钮使用了fieldChangedListener。它工作正常

public void fieldChanged(Field field, int context) {} 

step-2 使用导航点击来处理父管理器上的事件。

  protected boolean navigationClick(int status, int time) {
            Field field = getFieldWithFocus();
            Dialog.alert("shops field clicked");        
                return super.navigationClick(status, time);
        }

现在,即使是navigationClick事件仍然有效。但是因为按钮是添加到VFM的子字段。当我点击按钮时,VFM和按钮事件会合在一起。

如何在ButtonField上单击按钮时仅限制按钮。

1 个答案:

答案 0 :(得分:2)

如果我正确理解了您的问题,您希望仅为子字段(可单击按钮)调用navigationClick(),而无需为管理员调用。很抱歉让您失望,但您不能。导航点击事件将始终首先为经理调用,而且只有经理将事件传播到子字段。关键事件,触摸事件,焦点事件等同样适用......

描述您要实现的目标,添加代码段,我相信我们会找到解决方案。