【问题标题】:TouchEvent() and FieldChange() in blackberry黑莓中的 TouchEvent() 和 FieldChange()
【发布时间】:2012-05-13 19:50:56
【问题描述】:

我正在使用两种分辨率,一种是触摸屏,另一种是非触摸

我设计了一个屏幕,其中有 10 个自定义按钮被添加到 VerticalFieldManager CustomButtonField 类扩展了 Field 类

我为 touchScreens 使用了 2 个方法 fieldChange() 和 touchEvent() 问题是每当我单击按钮时,它都会为 touchevent() 正确激活 但是随后 fieldChange() 方法也会被立即调用

我该怎么办?? 有什么问题??

【问题讨论】:

  • 我对这个概念很熟悉,但我认为 onTouchEvent() 在它的期限内会很好用,但是当焦点从点击按钮上移开时,它会自动产生一个事件,即 FieldChange()。这正是我猜正在发生的事情。

标签: blackberry touch-event


【解决方案1】:

查看Paul SylliboyArhimed提供的问题BlackBerry touchEvent outside Field triggers fieldChanged的答案。

在这些答案中,有一种方法只更新boolean 变量以识别发生了触摸事件,并根据boolean 的值在fieldChangednavigationClick 上执行操作方法。

BB UI 框架调用navigationClick(int status, int time) 如果执行后有任何触摸事件,则自动 protected boolean touchEvent(TouchEvent message)。和 navigationClick(int status, int time) 调用方法 fieldChangeNotify(0) 导致 fieldChange() (在问题中) 或 public void fieldChanged(Field field, int context) 被调用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多