Android shift键监听器

时间:2011-10-13 05:15:23

标签: android

我需要知道用户何时点击我的EditText中的 Shift 键(软键盘)。目前,我正在使用addTextChangedListener,但是当按下 Shift 键时它不会被调用(虽然它是按下任何其他键时)

如果用户点击 Shift 键,我该怎么办?

谢谢,

2 个答案:

答案 0 :(得分:4)

您必须使用View.OnKeyListener

edit1.setOnKeyListener(new View.OnKeyListener() {
 @Override
 public boolean onKey(View v, int keyCode, KeyEvent event) {
    if(event.isShiftPressed())
      {

       }
    return false;
  }
});

答案 1 :(得分:4)

以下示例可以帮助您

//while your activity class should be implementing OnKeyListener like below
//public class MyActivity extends Activity implements OnKeyListener { ....}
myEditText.setOnKeyListener(this);

然后通过覆盖关键监听器的方法,您可以感知到shift键

@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
    switch (v.getId()) 
    {
    case R.id.myEditTextId:
    if(keyCode==59)//59 is shift's keycode
    //do your stuff here against pressing shift key
    break;
    }
    }

你可以在http://qdevarena.blogspot.com/2009/04/android-keycodes-list.html

获取android密钥代码列表