Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/121.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何在SurfaceView上绘制软键盘键码?_Android - Fatal编程技术网

Android 如何在SurfaceView上绘制软键盘键码?

Android 如何在SurfaceView上绘制软键盘键码?,android,Android,我的软键盘和surfaceview有问题。当我在软键盘上打字时,我想通过onDraw方法在表面上书写文本。我得到了事件,但我无法得到相应的字符绘制。我看到很多帖子,其中有人说getNumber()应该用相应的字符响应,但它用错误代码失败。 以下是may onKey方法: public boolean onKey(View v, int keyCode, KeyEvent event) { Log.d(LOGTAG, "keyCode: "+keyCode+" - " + even

我的软键盘和surfaceview有问题。当我在软键盘上打字时,我想通过onDraw方法在表面上书写文本。我得到了事件,但我无法得到相应的字符绘制。我看到很多帖子,其中有人说getNumber()应该用相应的字符响应,但它用错误代码失败。 以下是may 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;
    }
DDM显示:

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转换为字符串,以便与surfaceview画布的抽绳一起显示。

试试看

event.getDisplayLabel()
在onKey()方法中