我在我的2D应用程序中打开虚拟键盘并获得按键。但是当我在虚拟键盘上按DEL
键时,虚拟键盘不会给出任何响应。
我如何知道用户何时按下DEL键或者我可以将全局keylistener添加到系统?
答案 0 :(得分:0)
最简单的方法是根据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的一个),上面的方法是有效的