在editText 抢占焦点的问题上,采用拦截事件的方式处理,自定义View。
1.继承类View类,如图所示输入框,继承自EditText,点击右侧删除按钮,editText数据清空
此输入框代码如下:
当通过以下代码设置右侧删除图片时
setCompoundDrawablesWithIntrinsicBounds(null, null, mRightIcon, null);
editText会抢占焦点,点击drawable 无法响应,解决方法可通过触摸的位置,来判断用户的需求。
`
/**
* 监听删除操作
*/
@Override
public boolean onTouchEvent(MotionEvent event) {
if (!this.isEnabled() || event.getAction() != MotionEvent.ACTION_UP) {
return super.onTouchEvent(event);
}
// 清除按钮,获取焦点,控件可用时清空
Drawable rightIcon = mRightIconLoader.getRightIcon();
if (rightIcon != null) {