在Android虚拟键盘上捕获KeyEvent
答
这里是代码一个很好的试片:
@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有很多非常好的信息。
答
此代码工作得很好。请给它一个镜头。
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;
}
}
+0
我试过了,没有工作:| – RelativeGames
定期键监听器可能处理来自虚拟键盘的KeyEvent。你有没有尝试过? – mehmetminanc