如何在软键盘上听按键?

时间:2012-05-16 10:21:49

标签: android keyboard listener keylistener

我需要一个监听器来识别软键盘/屏幕键盘上的按键。

我尝试使用addtextchangelistener textwatcher,但是这个给出了很好的结果,但它也显示了粘贴一些文本时的更改。

我只需要识别用户按键。

是否有任何可能的方法来检测按键。

4 个答案:

答案 0 :(得分:4)

请参阅此keyevent并使用以下代码确定用户按下了哪个键。

  @Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) 
    {
         // Do Code here
    }
else if(keyCode == KeyEvent.KEYCODE_0) 
   {

   }
else if(keyCode == KeyEvent.KEYCODE_1) 
   {

   }
return super.onKeyDown(keyCode, event); }

答案 1 :(得分:3)

  

使用KeyEvent类处理键盘事件时相关   API,你应该期望这样的键盘事件只来自一个   硬件键盘。 您永远不应该依赖于接收关键事件   软输入法上的任何键(屏幕键盘)

请参阅:Handling Keyboard Actions

答案 2 :(得分:1)

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
    if (keyCode == KeyEvent.KEYCODE_BACK) {
        // Do Code here
    }
    return super.onKeyDown(keyCode, event);
}

答案 3 :(得分:1)

See this if can help you.

@Override
    public boolean onKeyDown(int keyCode, KeyEvent event) {
        if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 1) {          
            finish();
            return true;    
        }
        return super.onKeyDown(keyCode, event);
    }