0

ゲームの SurfaceView でソフト キーボードを使用しようとしています。問題は、onKey イベントを処理できないことです。

ビューに OnKeyListener を実装し、オーバーライドしようとしました:

@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
    Log.w("Key", "Key Pressed");
    return true;
}

しかし、私はキーイベントを受け取りません。

使用する

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
    Log.w("Key", "Key Pressed");
    return true;
}

どちらも機能しません。

4

1 に答える 1

1

ビュー コンストラクター フックで次のように指定する必要があることがわかりました。

setFocusable(true);
setFocusableInTouchMode(true);

入力イベントはフォーカスされたビューにのみ送信されるためです。

于 2012-06-09T06:13:37.143 に答える