Android 监听EditText的输入状态

在做登录注册项目的时候,有这样一个需求 1.监听输入框的状态,输入框有一个一键删除的小×号,默认是不显示的,当输入内容的时候显示  2.密码隐藏功能,点击隐藏,如果密码的时候是隐藏状态。因为这是一个普通常用需求,我就分装成一个工具类。

废话不说,直接上代码,有需求的小伙伴,直接拷贝使用就好。


public class EditTextUtils {

     //监听输入框的状态,设置小×号的状态
    public static void textChangedListener(final EditText edittext, final ImageView imageview){
        edittext.addTextChangedListener(new TextWatcher() {
            @Override
            public void beforeTextChanged(CharSequence s, int start, int count, int after) {
            }
            @Override
            public void onTextChanged(CharSequence s, int start, int before, int count) {
                imageview.setVisibility(View.VISIBLE);
            }
            @Override
            public void afterTextChanged(Editable s) {
                if (edittext.getText().toString().equals("")){
                    imageview.setVisibility(View.INVISIBLE);
                }
            }
        });
    }
 
    /**
     * 显示或者隐藏密码
     * @param
     */
    public  static void setPasswordisShow(EditText view , Boolean isHidden, TextView textView) {
        if (isHidden) {
            //设置EditText文本为可见的
            view.setTransformationMethod(HideReturnsTransformationMethod.getInstance());
            textView.setText("隐藏");
        } else {
            //设置EditText文本为隐藏的
            view.setTransformationMethod(PasswordTransformationMethod.getInstance());
            textView.setText("显示");
        }
        view.postInvalidate();
        //切换后将EditText光标置于末尾
        CharSequence charSequence = view.getText();
        if (charSequence instanceof Spannable) {
            Spannable spanText = (Spannable) charSequence;
            Selection.setSelection(spanText, charSequence.length());
        }

    }
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值