今天项目中突然发现,原来EditText输入内容后无法删除,在网上搜索了很多,才发现原来是在tabhost下使用了dispatchKeyEvent(KeyEvent event)的方法,据说使用了这个方法会把某些控件的部分属性屏蔽,于是继续上网搜索解决方法,发现原来我在最后没有回调父类的方法,直接return false,所以就没有执行父类的点击事件。方法如下(忘了网址,不然的话就直接转载过来的):
@Override
public boolean dispatchKeyEvent(KeyEvent event) {
if (event.getKeyCode() == KeyEvent.KEYCODE_BACK) {
// 拦截返回键,重写代码
return true; //这里不需要执行父类的点击事件,所以直接return
}
return super.dispatchKeyEvent(event); //继续执行父类的其他点击事件
}