EditText输入完成(afterTextChanged)后设置TextView文本无效坑
程序员文章站
2022-03-10 13:01:07
...
下面代码:EditText输入完成后,如果为空,就设置TextView文本
addressEt.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) {}
@Override
public void afterTextChanged(Editable s) {
if (s.toString().equals("")) {
addressText.setText("请输入地址来查询经纬度");
}
}
});
但是效果嘛。。。
可见,删除完文本后并没有改变TextView的文本,具体原因我也没找到。。。有大佬知道希望可以评论告知我,谢谢!
解决办法:(用Handler来通知TextView更改文本,延迟500毫秒或者1000毫秒时间)
addressEt.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) {}
@Override
public void afterTextChanged(Editable s) {
if (s.toString().equals("")) {
// addressText.setText("请输入地址来查询经纬度");
myHandler.sendEmptyMessageDelayed(3, 500);
}
}
});
效果: 每次都会改变为指定文本值
上一篇: ActiveMQ连接不释放问题