2

我正在向基于 MIDP 的应用程序添加一些功能,这需要我跟踪是否Item有焦点。我只真正关心字段样式的项目,需要确定用户何时完成将数据输入项目。

我知道 CustomItem 有traverse()回调,但我找不到类似DateField,TextFieldChoiceGroup.

我也知道,Display.setCurrentItem()但出于某种奇怪的原因,似乎没有一种Display.getCurrentItem()方法。

将所有控件实现为 CustomItems 并不是一个真正的选择,因为它是一个预先存在的应用程序,并且有很多控件需要处理。我不敢相信以前没有人遇到过这个问题,但我在这里搜索过,谷歌搜索无济于事。希望我只是在 API 中遗漏了一些明显的东西,但如果没有明确的答案,那么欢迎创造性的解决方案!

4

1 回答 1

0

MIDP 2 lcdui API中,唯一的字段样式项是以下的交互式子类Item:TextField、DateField、Gauge。

对于上述项目,与您所询问的内容最接近的似乎是由提供的ItemStateListener(如果您有兴趣,请在此处查看 API javadocs )。

...由需要接收指示交互项内部状态更改的事件的应用程序使用...对于具有输入焦点概念的实现,应在焦点移开之前调用侦听器状态已更改的项目。

  • 如果您打算使用此 API,请仔细检查文档以验证它确实为您提供了您想要的 - 那里有一些微妙的限制。如果事实证明您需要更大的控制权,您可以选择使用低级 UI(画布、事件)或 3rd 方库,如 LWUIT、J2ME Polish...
于 2011-11-30T14:10:27.527 回答