首页 > 解决方案 > 如何在EditTextView上使可见和不可见的Drawable Left?

问题描述

我已经在 Stack 中阅读了很多答案,但没有一个对我有帮助,所以请不要将其标记为 Duplicate ,我有EditText,并且我想在 EditTextView 中插入数据的长度等于 11 时使可见的可绘制左侧.

标签: javaandroidandroid-edittextdrawable

解决方案


如果您想在用户输入时显示/不可见可绘制对象,请执行以下操作:

EditText et = (EditText)view.findViewById(R.id.edt);
et.addTextChangedListener(new TextWatcher() {

    @Override
    public void afterTextChanged(Editable editable) {
        if(editable.length() >= 11){
            // visible
            et.setCompoundDrawablesWithIntrinsicBounds(R.drawable.your_icon, 0, 0, 0);
        }
        else {
            // hide
            et.setCompoundDrawablesWithIntrinsicBounds(0, 0, 0, 0);
        }
    }

    @Override
    public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) { }

    @Override
    public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) { }

});

推荐阅读