Android EditText中通过drawabeRight等添加了清空按钮 如何给按钮添加点击事件?

本文介绍了一种在Android应用中实现EditText控件右侧图标点击清除输入内容的方法。具体步骤包括:通过FindViewById获取EditText控件;设置onTouch事件监听器;判断触碰位置是否位于右侧图标上并执行清除操作。

1.通过FindViewById获得到EditText控件.

2.给控件设置onTouch事件

edittext_search.setOnTouchListener(new View.OnTouchListener() {
    @Override
    public boolean onTouch(View v, MotionEvent event) {
        // 得到一个长度为4的数组,分别表示左右上下四张图片.
        Drawable drawable = edittext_search.getCompoundDrawables()[2];
        //如果右边没有图片,不再处理.
        if (drawable == null)
            return false;
        //如果不是按下事件,不再处理.
        if (event.getAction() != MotionEvent.ACTION_UP)
            return false;
        if (event.getX() > edittext_search.getWidth()
                - edittext_search.getPaddingRight()
                - drawable.getIntrinsicWidth()){
            edittext_search.setText("");
        }
        return false;
    }
});

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值