1

我正在使用 j2me 和 LWUIT(黑莓端口)开发一个黑莓应用程序。除了数字模式下的 TextField 之外,一切都很好。基本上,当您专注于 TextField 时,您必须首先进入“NUMERIC”模式(通过按 alt + aA)才能输入,这对用户不友好并且是个问题。

建议的解决方案是使用 TextArea 代替,它允许您打开 NATIVE 类型的输入框。存在的问题是用户需要聚焦领域,然后再次按下不友好的点火按钮。

有谁知道任何简单的解决方案?

我想到的几个解决方案(但不知道怎么做): 1)捕获 TextArea 上的任何按键并进入 NATIVE 模式,而不仅仅是火键。2) 将黑莓输入方式转成数字,使用整个表格的代码。

任何建议将被认真考虑。

非常感谢,

保罗

4

2 回答 2

1

我不确定这个解决方案是否会满足您的需求,但您可以添加 j2me onKeyPress 处理,将字母按键“翻译”成对应于同一键的数字并将“正确”数字添加到文本字段而不是用户实际按下的内容。请记住,这样的解决方案需要您担心可移植性问题,因为并非所有黑莓型号都使用相同的键盘布局(例如 qwerty 与缩减的 qwerty)并充分处理布局的变化。

于 2010-03-26T18:39:36.073 回答
1

好吧,回答我自己的问题。

我重写了 TextArea 上的 keyRelease 方法。在此方法中,如果按键不是箭头键,则调用 editString 方法(这会导致本机文本字段打开)。唯一的缺点是它总是会错过文本框中的第一个按键。

于 2010-03-27T06:25:54.040 回答