我打开虚拟键盘,在我的2d应用程序中按下了键。但是当我在虚拟键盘上按下DEL键时,虚拟键盘没有任何响应。
我如何知道用户何时按下DEL键,或者我是否可以将全局密钥侦听器添加到系统?
发布于 2011-06-23 19:52:55
最简单的方法是基于EditText小部件创建您自己的编辑:
public class CustomEditText extends EditText {
public CustomEditText(Context context) {
super(context);
}
public CustomEditText(Context context, AttributeSet attrs) {
super(context, attrs);
}
public CustomEditText(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
}
}然后,重写方法OnKeyPreIme
@Override
public boolean onKeyPreIme(int keyCode, KeyEvent event) {
if(keyCode == KeyEvent.KEYCODE_DEL) {
// Do something
}
return super.onKeyPreIme(keyCode, event);
}当然,如果你有一个打开了屏幕键盘的EditText,上面的方法是有效的(但无论如何你也可以创建一个大小为0的dip )
https://stackoverflow.com/questions/6453438
复制相似问题