先看一下自定义的 EditText的实现
public class NumEditText extends EditText {
public NumEditText(Context context, AttributeSet attrs) {
super(context, attrs);
}
/**
* If you handled the event, return true <br>
* If you want to allow the event to be handled by the next receiver, return false.
*/
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_DEL) {
return false;//不管返回false还是true都会把del键盘屏蔽,不同的是false会继续传入到Activity中
}
return super.onKeyDown(keyCode, event);
}
}
如果在Activity中还设置onKeyListener则会对EditText类内部的onKeyDown造成影响
editView.setOnKeyListener(new OnKeyListener() {
@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_DEL) {
return false;true以后既不会继续传
}
return false;
}
});
<