0

EditTextに入力しているときに、Android仮想キーボードでキーイベントをキャプチャする方法はありますか?

deleteKeyイベントをキャプチャしたいですか?

4

2 に答える 2

2

これは素晴らしいコードのサンプルです:

 @Override
    public boolean dispatchKeyEvent(KeyEvent e) {
        if (e.getKeyCode() == KeyEvent.KEYCODE_FORWARD_DEL) { 
/*Just switch out keycode if KEYCODE_FORWARD_DEL if its not the correct one*/
            Toast.makeText(MainActivity.this, "YOU CLICKED Delete KEY",
                    Toast.LENGTH_LONG).show();
            return true;
        }
        Toast.makeText(MainActivity.this, "Didnt work", Toast.LENGTH_SHORT)
                .show();
        return super.dispatchKeyEvent(e);
    };

キーが押されたかどうかをテストできるように、トーストを入れました。また、ここの開発者の Web サイトには、非常に優れた情報がたくさんあります。

于 2012-09-18T14:41:25.717 に答える
0

このコードは非常にうまく機能します。試してみてください。

public class MainActivity extends Activity implements View.OnKeyListener {
......
    public boolean onKey(View v, int keyCode, KeyEvent event) {
        // TODO Auto-generated method stub
        // TODO Auto-generated method stub
        Log.e("setOnKeyListener", "Key Code:" + String.valueOf(keyCode));
        if(event.getAction() != KeyEvent.ACTION_DOWN) return true;
        Log.e("setOnKeyListener-ACTION_DOWN", "Key Code:" + String.valueOf(keyCode));
        return false;
    }
}
于 2013-03-18T20:32:34.577 に答える