2012-01-18 92 views
0

我有軟鍵盤和表面視圖的問題。當我輸入軟鍵盤時,我想通過onDraw方法在surfaceview上寫文本。我得到這個事件,但我無法得到相應的角色來繪製。我看到很多帖子,並且在某個人看來,getNumber()應該使用相應的字符進行響應,但它會失敗並顯示錯誤代碼。 這裏是5月安其方法:如何在SurfaceView上繪製SoftKeyboard keyCodes?

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轉換爲字符串以顯示surfaceview畫布的drawString。

回答

1

嘗試

event.getDisplayLabel() 

您的安其()方法中。