WAP之家:为您提供最全最新的WAP技术,CP.SP.3G等行业资讯。 WAP之家交流论坛全新开放 点击进入>>
WAP资讯 | 3G动态 | SP动态 | 运营商动态 | 内容商动态 | 制造商动态 | 论坛讨论>> 每次自动访问
WAP技术 | WAP源码 | 手机编程 | 手机源码 | 无线技术 | J2ME技术 | 手机软件 添加到收藏夹
IVR技术 | SP资料 | SMS MMS技术 | 商业方案 | IVR下载 | 书籍教程 | 工具软件 语言:繁體中文

WAP之家技术文章手机编程BREW深入BREW消息处理机制

深入BREW消息处理机制
作者:东方欲晓  来源:本站整理  发布时间:2008-4-8 1:14:04
母,数字,符号时没有问题。但是当输入为拼音时,当达到最大输入数时会出现一种情况,就是不能输入进text了,但是拼音dlg继续存在,且随着不断的按键继续有不断的响应(比如候选字不断变化等)。这是由于oem层当输入达到最大值时的处理是,仅仅不往text buffer中存入字符而并没有实现:release掉pinyindlg,回到text 控制下,不响应用户任何输入这些功能。
   如何解决这个问题那?当对brew事件处理机制很熟悉的话,问题就迎刃而解了。只需要当输入达最大数时的同时将event处理控制权释放即可,这样下次事件处理将重新由app捕获,并传给itextctl,而在itextctl的handleevent的oem实现中进行判断,当已达最大输入时,不作任何响应。具体如下:
ipinyinmanager_handleevent中有对select事件进行处理,主要就是add char到text中,我们在add char这个处理之后,加入对最大输入数是否已到的判断,如果最大数已到,则直接return false 释放event handle的控制权。之后,pinyindlg注册的pinyindlgevent会继续处理这个事件(即select键),在这个eventhandle中release掉pinyindlg,使其不再显示,同时返回true(这是为了让该事件select不再传至app,否则app可能采取保存等操作)。这样下次按键将顺利被传至itextctl_handleevent,在该handleevent的oem实现中,我们加入对输入最大数的判断,如果已达最大数,则不作任何响应,同时返回true(对程序而已,的确是作出了响应:))。 这样就达到了当拼音输入达最大数的同时自动隐去拼音框,之后再按任何键无响应的合理效果。
   以上是我一段时间工作后的心得体会,可能有不当之处,大家相互交流。[转载于歪酷博客]
原文:http://nicefuture.yculblog.com/post.715151.html

上一页  [1] [2] 

[] [返回上一页] [打 印]
文章评论

用户名: 查看更多评论

分 值:100分 85分 70分 55分 40分 25分 10分 0分

内 容:

         (注“”为必填内容。) 验证码: 验证码,看不清楚?请点击刷新验证码