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);
    };

我放了祝酒词,这样您就可以测试是否按下了键。这里的开发者网站也有很多非常好的信息。

于 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 回答