在输入EditText期间,有没有办法在Android虚拟键盘上捕获关键事件?
我想捕获删除键事件?
答案 0 :(得分: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);
};
我加入了祝酒词,这样你就可以测试是否按下了键。 此外,开发者网站here还有很多非常好的信息。
答案 1 :(得分: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;
}
}