在Android虚拟键盘上捕获KeyEvent

问题描述:

在输入EditText的过程中,有什么方法可以捕获android虚拟键盘上的keyevents?在Android虚拟键盘上捕获KeyEvent

我想捕获deleteKey事件?

+0

定期键监听器可能处理来自虚拟键盘的KeyEvent。你有没有尝试过? – mehmetminanc

这里是代码一个很好的试片:

@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