首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > Android >

为什么安卓能得到大键盘的键值,却不能得到小键盘的键值解决方法

2012-06-14 
为什么安卓能得到大键盘的键值,却不能得到小键盘的键值public boolean onKeyDown(int keyCode, KeyEvent e

为什么安卓能得到大键盘的键值,却不能得到小键盘的键值
public boolean onKeyDown(int keyCode, KeyEvent event) 
  {

  System.out.println(String.valueOf(keyCode));
  return super.onKeyDown(keyCode, event);  
  }  

在平板电脑上外接1个usb键盘,这个代码可以得到大部分的键值包括大键盘区的数字键及回车键等,但是却得不到小键盘区的数字键值(num已经打开)及小键盘回车键等值。 

怎样才能得到小键盘区的键值呢??

[解决办法]
按住 向上那个键就能得到了
[解决办法]

探讨
研究了好几天 原来android4.0里面system/USR/layout里面有个Generic.kl及/system/usr/keychars/generic.kcm,里面包含了小键盘的键值和映射。
而android2.3里面却只有:qwerty.kl和qwerty.kcm.bin,里面没有包含小键盘的键值。把2.3的generic.kcm复杂到2.3里面,发现2.3的keychars目录里……

[解决办法]
这个是焦点问题吧,我记得我曾经试过,点击输入框,小键盘弹出来,你就获取不到小键盘的key了,在按一下机器的上下键,这时候输入框的焦点就失去了(必须焦点失去),然后小键盘其实没有隐藏,再去按小键盘的键,其实是可以获取到小键盘的KEY值的。其实我也不知道怎么回事,个人感觉小键盘属于一个独立的activity,当小键盘拥有焦点的时候,你主程序就不能拥有焦点,按键的时候不会响应到主程序的事件了
[解决办法]
我也遇到同样的问题。我想在android 2.2的mid接一个usb的数字小键盘,但是onKeyDown无法返回键值。

热点排行