这个问题在这里已有答案:
我在Stack中读过很多答案,但是没有一个能帮助我,所以请不要将它标记为Duplicate,我有EditText
,当EditTextView中插入数据的长度变为等于时,我想让可见的drawable离开11。
您可以使用setCompoundDrawables
方法执行此操作:
Drawable img = getContext().getResources().getDrawable(R.drawable.add_more);
img.setBounds(0, 0, 60, 60);
edittext.setCompoundDrawables(img, null, null, null);
if (edittext.lenght == 11) {
img.setVisible(false, false);
}
我希望它会对你有所帮助!
如果你想在用户输入时留下可见/不可见的drawable,那么这样做:
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) { }
});