java - 如何在EditTextView上使可见和不可见的Drawable Left?
问题描述
我已经在 Stack 中阅读了很多答案,但没有一个对我有帮助,所以请不要将其标记为 Duplicate ,我有EditText
,并且我想在 EditTextView 中插入数据的长度等于 11 时使可见的可绘制左侧.
解决方案
如果您想在用户输入时显示/不可见可绘制对象,请执行以下操作:
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) { }
});
推荐阅读
- angular - Angular 6 - 无法使用主题订阅消息
- javascript - 如何在jquery中隐藏除第一类之外的每个类的所有div
- python - 如何将变量从终端导入到 shell?
- azure - 使用 azure 服务总线,如何将单个消息发布到多个队列?
- python - SQLAlchemy 核心 engine.execute() 与 connection.execute()
- sql - 列 SQL 的多数投票
- unity3d - UnityWebRequest.downloadHandler.text 为空,即使 POST 方法返回响应
- java - ExifInterface 无法在模拟器上检索所拍照片的地理标签
- spring - 使用 url 中的 id 删除 Spring 数据休息不调用 deleteById 方法
- c# - 将对象移动到特定位置 Unity 3D 时的问题