1

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

但是,我正在努力处理对两者都有效的事件。

第 1 步我已将 fieldChangedListener 用于在行中添加的按钮。它工作正常

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

第 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 上单击按钮时,我怎么能只限制按钮。

4

1 回答 1

2

如果我正确理解了您的问题,您希望navigationClick()只为子字段(可点击按钮)调用,而不是为经理调用。很抱歉让您失望,但您不能。导航单击事件将始终首先为经理调用,然后经理才会将该事件传播到子字段。按键事件、触摸事件、焦点事件等也是如此……

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

于 2012-05-11T19:11:40.503 回答