因为业务需要,有时候我们好监听软键盘向下的动作,当我们按下向下的按钮时,可以进行监听,从而执行相应的动作。
于是我们写下下面的代码
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK){
Log.i(TAG, "onKeyDown");
}
return super.onKeyDown(keyCode, event);
}
我们按下向下的按钮,滴,没反应。再按一次,滴,握草,直接退出了,这个时候才有 log 打印出来。这个 log 是退出当前 Activity, 而不是软键盘向下的。
如果没有想到好的解决方案,就问 google , 于是我们得到了解决方法,就是对 Edittext.onKeyPreIme() 方法重写
/**
* 拦截键盘向下的 EditTextView
*/
public class TextEditTextView extends EditText {
public TextEditTextView(Context context) {
super(context);
}
public TextEditTextView(Context context, AttributeSet attrs) {
super(context, attrs);