java - 黑莓按下 buttonfield n 秒

标签 java blackberry

我正在开发一个黑莓应用程序。当用户按下一个按钮并按住它 2 秒时,我想在同一屏幕上触发任何操作。

任何方式

谢谢

最佳答案

这是您在非常非正式的伪代码中需要做的:

    When (click detected)
        Schedule Timer to execute in 2s.

    When (unclick detected)
        Cancel timer

计时器在用户第一次点击它时被安排。如果用户按下按钮超过 2 秒,则计时器将运行。否则,当按钮在 2 秒前松开时,定时器被取消,不会运行。请注意,如果用户在 2 秒或更晚的时间释放,也可以取消定时器。在那些情况下这不是问题,因为如果它在运行时被取消,它会被允许完成,如果它在完成后被取消,它什么都不做。

要检测点击/取消点击,您有多种选择。您可以从按钮类扩展并覆盖 touchEvent作为Peter建议,或者您可以覆盖 navigationClicknavigationUnclick在您的 MainScreen 类中。由于您需要在每个按钮中执行此操作,我宁愿将 ButtonField 子类化以启用自定义点击/取消点击监听器,从而允许在其他屏幕中重用该类。

计时器只是一个普通的 Timer你在哪里安排 TimerTask

关于java - 黑莓按下 buttonfield n 秒,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18886600/

相关文章:

java - 类加载器 java.lang.NoClassDefFoundError?

java - 奇怪的分割方法

eclipse - 避免 Eclipse 格式化预处理器指令

blackberry - 具有不同图像和可点击事件的父级和子级节点 - Treeview Blackberry

http post 请求不在 Blackberry 5.0 中发送参数

android - 打开 iOS、Android 和 BlackBerry 应用程序的通用链接

java - 动态设置Log4j.xml日志文件名

java - 我应该把 while 循环/boolean 值放在哪里?

java - 调用重绘时简单的缓冲图像闪烁

user-interface - 黑莓 - 从带有复选框的列表中获取选中的项目