如何解决在EditText上处理虚拟键盘
| 使用虚拟键盘将按键事件显示在ѭ0上时遇到麻烦。系统会提示用户键入某些内容,我需要在事件发生时捕获这些事件。我需要能够得到keyup
和keydown
。我需要弄清楚起伏的时机。这是专为3.1设计的,有什么方法可以获取这些事件?任何帮助,将不胜感激
谢谢,
麦可
解决方法
Android参考说
按键操作以ACTION_DOWN按键事件开始。如果关键是
保持足够长的时间以使其重复,则初始下降为
紧随其后的是ACTION_DOWN和非零值的其他按键事件
用于getRepeatCount()。最后一个键事件是该键的ACTION_UP
起来。如果取消按键,则按键事件将具有
FLAG_CANCELED标志设置。
请尝试以下操作:
public void onCreate(Bundle savedInstanceState) {
...
etField =(EditText)findViewById(R.id.your_edit_text);
etField.setOnKeyListener(new OnKeyListener() {
@Override
public boolean onKey(View v,int keyCode,KeyEvent event) {
// register the text when \"enter\" is pressed
if (event.getAction() == KeyEvent.ACTION_DOWN
|| event.getAction() == KeyEvent.ACTION_UP ) {
int timesPressed = event.getRepeatCount();
//do something
}
});
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。