2012-01-18 18 views
0

ソフトキーボードとサーフェスビューに問題があります。私は、ソフトキーボードを入力するときにonDrawメソッドを通してサーフェイスビューにテキストを書きたいと思います。私はイベントを取得するが、私は対応する文字を描画することができませんでした。私は多くの投稿を見て、誰かがgetNumber()は対応する文字で応答する必要がありますが、それはbadcodesで失敗すると言います。SurfaceViewにSoftKeyboardキーコードを描画するには?

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がこれを示しています: はここで5月onKey方法である

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; 

が、同じ結果を得ます。

surfaceview canvasのdrawStringで表示するには、keyCodeを文字列に変換する必要があります。

答えて

1

はあなたonKey()メソッド内

event.getDisplayLabel() 

を試してみてください。

関連する問題