我需要知道用户何时点击我的EditText中的 Shift 键(软键盘)。目前,我正在使用addTextChangedListener,但是当按下 Shift 键时它不会被调用(虽然它是按下任何其他键时)
如果用户点击 Shift 键,我该怎么办?
谢谢,
垫
答案 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密钥代码列表