BlackBerry touchEvent 外部字段触发 fieldChanged

2023-11-30

我遇到一个问题,如果我按下/触摸某个字段之外fieldChanged()具有焦点的字段会触发事件。

我的布局MainScreen非常简单,就像这样:

public class myMainScreen extends MainScreen implements FieldChangeListener{

    public myMainScreen(){
        CustomFM1 fm1 = new CustomFM1();
        CustomFM2 fm2 = new CustomFM2();

        add(fm1);
        add(fm2);
    }

}

如果我按下其中一个按钮/字段FieldManager效果很好。问题是当我按下空白区域时。所以如果我按入空白处fm2 and a Field inside fm1有了焦点,就会触发它的 fieldchanged 事件。

目前,我的补救措施是抓住touchEvent并将其传递给适当的FieldManager. The touchEvent for my CustomFM然后将处理获取字段并调用 fieldChanged(如果确实按下了字段)

So in myMainScreentouchEvent 看起来像:

protected boolean touchEvent(TouchEvent message){

    int index = this.getFieldAtLocation(message.getX(1), message.getY(1));

    switch(index){

        case 0:
           fm1.touchEvent(message);
           break;       

        case 1:
           fm2.touchEvent(message);
           break;

    }

    return true;
}

And my touchEvent对于我的 CustomFM2 来说。OFFSET是 fm2 相对于屏幕的顶部 y 位置。

protected boolean touchEvent(TouchEvent message){

    switch(message.getEvent()){

    ... 

        case TouchEvent.UP:
            int index = this.getFieldAtLocation(message.getGlobalX(1), message.getGlobalY(1) - OFFSET);
            if(index != -1){
                Field field = getField(index);
                field.getChangeListener().fieldChanged(field, 0);

            }

            break;

    }

    return true;

}

我想知道是否有更简单的解决方案?我错过了什么吗?


刚刚有同样的问题。主要问题是navigationClick and trackwheelClick如果触摸事件没有被消耗,则被调用touchEvent.

解决办法是调用fieldChangeNotify*Click方法only如果点击是由非接触式事件。触摸事件的状态为 0,因此您可以按如下方式检查:

protected boolean navigationClick( int status, int time ){

    if (status != 0) fieldChangeNotify(0);
    return true;  
}

protected boolean trackwheelClick( int status, int time ){        

    if (status != 0) fieldChangeNotify(0);
    return true;
}

此方法意味着您不需要跟踪触摸事件是否在字段范围内。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

BlackBerry touchEvent 外部字段触发 fieldChanged 的相关文章

  • 如何开始黑莓编程? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • Android、Windows Phone 7 和 Blackberry 的等效配置文件 (iOS)

    在 iOS 中 可以使用配置文件通过无线方式推送电子邮件 wifi 和 VPN 等的配置 有适用于 Android Windows Phone 7 和 Blackberry 的同等产品吗 链接到 iOS 的配置文件http develope
  • 支持 Phonegap 最小平台版本

    我的公司正在进行一个大项目 我必须开发 IOS Android symbian Windows Phone 和黑莓 在听说和研究 Phonegap 后 我真的正在考虑使用它 但是我想知道是否有以及哪些是针对这些平台使用 Phonegap 进
  • 开发黑莓应用程序的好工具包是什么? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 寻找用于一般 Blackberry 开发或应用程序工具包的工具包 SDK 有类似 MVC 框架的东西吗
  • 当我尝试垂直对齐字段时,它们的行为不符合我的预期?(Blackberry JDE4.5.0 eclipse)

    我正在使用 Eclipse 和 JDE 4 5 0 插件 如何垂直对齐字段 我们可以对齐字段吗LEFT BOTTOM RIGHT BOTTOM LEFT VCENTER RIGHT VCENTER CENTER 垂直和水平 BOTTOM C
  • 黑莓 - 如何创建子菜单?

    我想为 BB 应用程序创建子菜单 当我点击菜单项时它显示 Option 1 Option 2 Option 3 当我点击选项 3 时 它应该显示 1 2 3 作为子菜单项 使用j2me eclipse 一直想做这个 替代文本 http im
  • 黑莓 - 等待屏幕[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我正在黑莓java开发中开发一个应用
  • 黑莓 Twitter 集成以发布照片

    我正在开发一个应用程序 用户可以在运行 OS 5 0 的 BlackBerry Storm 和 Torch 系列手机上将照片分享到 Facebook 和 Twitter 对于 Facebook 我使用了草莓项目 但对于 Twitter 我找
  • 将新图像添加到资源文件夹后出现类未找到异常

    该应用程序在模拟器和设备上运行得非常好 添加一组新图像后 它开始在每次运行时 在模拟器上和在设备上显示类未找到异常 当尝试删除一些图像以查找原因时 我在运行时找不到不同的类 编译和打包应用程序不会生成警告或错误 他们甚至得到签名 我得到的一
  • 如何使用 Bitmap.getBitmapResource() 访问存储在 Blackberry 中的图像?

    我想访问存储在黑莓中的图像 例如位置 store home user image png 现在我可以访问这个图像 String filePath file store home user image png Bitmap image Bit
  • 开发支持 Web 应用程序的移动应用程序的方法

    我的公司构建了自己的项目管理 Web 应用程序 这就像打了类固醇的大本营 该应用程序的核心功能是 创建任务列表 将任务分配给团队成员 跟踪任务项目的工时 我希望构建移动应用程序作为网络应用程序的扩展 移动应用程序必须 重现上述功能 连接到与
  • 如何处理 Blackberry Storm 中的 ButtonField 和 BitmapField 点击(触摸)事件?

    我创建了一个 ButtonField 和一个 BitmapField 像 public class MyCanvas extends MainScreen implements FieldChangeListener HorizontalF
  • 收到 Facebook 错误 11

    我在用 Eclipse 中的 BBplugin 5 0 版和 FB jar 库 FacebookBlackBerrySDK v0 8 25 jar 我收到一个错误 API错误代码 11 API 错误描述 此方法已弃用 错误消息 Displa
  • 来自 Blackberry Phonegap 应用程序的 Ajax 请求

    我正在为 Blackberry 操作系统 5 0 及更高版本 创建一个应用程序 我过去没有任何移动开发经验 我创建了一个运行良好的示例应用程序 按照中提到的准则http wiki phonegap com w page 31930982 G
  • Blackberry Java 中的类之间调用

    当屏幕上 单击 位图时 我试图推送一个新屏幕 为此 我从这篇文章中创建了一个类 黑莓可点击位图字段 https stackoverflow com questions 5722875 blackberry clickable bitmapf
  • 在 black berry 中创建项目时 xml 文件出错

    我刚刚在eclipse中创建了一个新项目 一旦创建 它就会创建并出现以下错误 InvalidRegex Pattern value a zA Z 1 63 s a zA Z 0 9 0 63 is not a valid regular e
  • 适用于 BlackBerry 的 QR 码阅读器

    是否有 BlackBerry 库 组件 开源或商业 可集成到我自己的应用程序中充当 QR 码阅读器 我想将它完全集成到我的应用程序中 或者 有没有办法使用开源中兴图书馆 http code google com p zxing 与相机结合使
  • 在 Blackberry 4.2 JDE 上调用 atan 函数

    我需要从我的 Blackberry Java 应用程序计算反正切值 不幸的是 blackberry 4 2 api 没有 Math atan 函数 Blackberry JDE 4 6 版有此功能 但 4 2 版没有 有谁知道计算 atan
  • 黑莓 - 带动画的加载/等待屏幕

    有没有办法显示 加载 屏幕带动画在黑莓手机上 选项 PME动画内容 多线程 图像集 定时器 计数器 标准轮辋 API 其他方式 有这个吗 Thanks 费明 安东尼 1 谢谢大家 你们给了我部分答案 我的最终解决方案 1 创建或生成 免费
  • 黑莓 Facebook SDK jar 文件

    大家好 我在使用 Facebook Blackberry SDK 以及如何在我的项目中使用它时遇到问题 我有一个使用 SourceForge 上提供的源文件制作的项目 我在我正在开发的项目中引用了这个项目 非常适合编程 但是当我想在模拟器上

随机推荐