我对软键盘和表面视图有点问题。当我在软键盘上打字时,我想通过onDraw方法在表面视图上写文本。我得到了事件,但我无法获得相应的字符来绘制。我看到很多帖子,有人说getNumber()应该用相应的字符来响应,但它失败了,并返回了错误代码。下面是可能的onKey方法:
public boolean onKey(View v, int keyCode, KeyEvent event) {
Log.d(LOGTAG, "keyCode: "+keyCode+" - " + event.getNumber()+" Un: "+event.getUnicodeChar());
this.charToDraw = ""+event.getNumber();
this.forceOnDraw();
return false;
}DDMS显示:
01-18 16:35:27.440: DEBUG/xxxxxxx(6227): keyCode: 47 - �� Un: 115
01-18 16:35:27.440: DEBUG/xxxxxxx(6227): onDraw: WRITING:��我还尝试使用:
char keyCode = (char)keyCode;
String keyCode = "" + keyCode;但是得到了相同的结果。
我需要将keyCode转换为一个字符串,以便与表面视图画布的drawString一起显示。
发布于 2012-06-09 12:23:53
试一试
event.getDisplayLabel()在您的onKey()方法中。
https://stackoverflow.com/questions/8917537
复制相似问题