MIDP:获取或跟踪当前关注的项目

时间:2011-11-21 18:26:58

标签: java java-me midp lcdui midp-2.0

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

我知道CustomItem有traverse()回调,但我找不到像DateFieldTextFieldChoiceGroup这样的类似的任何内容。

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

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

1 个答案:

答案 0 :(得分:0)

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

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

  

...由需要接收指示交互项内部状态变化的事件的应用程序使用...对于具有输入焦点概念的实现,应该在不晚于焦点时调用侦听器离开状态已经改变的项目。

  • 如果您打算使用此API,请仔细检查文档以确认它确实为您提供了所需内容 - 这里存在一些细微的限制。如果事实证明您需要更好的控制,那么您可以选择使用低级UI(Canvas,事件)或第三方库,如LWUIT,J2ME Polish ......