[急问]关于Form获取焦点和Canvas的键盘监听的问题
[急问]关于Form获取焦点和Canvas的键盘监听的问题
1、Form
有一个Form,里面有若干个CustomItem。
现在需要如下效果:当焦点移动到某个CustomItem上时,能知道是哪个CustomItem被选中了,从而可以控制该CustomItem里的线程开始运行。
看了很久的API Docs,没有发现Form里有类似于List中的getSelected()方法。
也就是说,当焦点移动到一个CustomItem上并且没有按任何键时,这个Item不知道自己已经被盯上了,同时我也没办法判断现在是哪个Item被选中。
到底应该如何获取哪个Item现在被焦点(选中)呢?
2、Canvas
Canvas里有捕获按键的方法:KeyPressd()等。
然而,在Nokia的手机上,除了数字键盘和上下左右中5个键外,还有左上、左下、右上、右下4个键。这4个键的值都不明。其中,左下和右下分别是拨打电话和挂机键。而左上和右上两个键始终不知道是什么值。而且,当给这个Canvas加命令时,这两个键都是弹出命令菜单(不论命令是Exit还是OK)。
现在,需要给Canvas加上类似Form时右上键的功能。即当按右上键时,直接执行Exit命令,而不是弹出命令菜单,再到菜单里去选择Exit。
这个怎么实现?
------解决方案--------------------靠,还没写完
if (keyCode == -7) {
MidletName.notifyDestroyed();
}
这个是直接退出 !
------解决方案--------------------另外,对于 CustomItem
protected void traverseOut()
Called by the system when traversal has occurred out of the item.
这个是焦点移出时的事件回调方法,你可以在这里停掉你的线程