今天做一个包含EditText的Activity,在EditText的右边有一个删除按钮,当输入文本时,该删除按钮出现,当EditText中没有文本时,该按钮消失。
这个功能很简单,只需要监听EditText文本改变事件即可。但是我发现当输入一些文字,然后再一个一个删除输入的文字时,在删除最后一个文字时,该删除按钮并没有出现,只有再一次点击输入法的删除按钮时,该删除按钮才会显示出来。
代码如下:
newName.addTextChangedListener(new TextWatcher() {
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
// TODO Auto-generated method stub
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
// TODO Auto-generated method stub
}
@Override
public void afterTextChanged(Editable s) {
// TODO Auto-generated method stub
if(!s.equal("")){
delete_btn.setVisibility(View.VISIBLE);
}else {
delete_btn.setVisibility(View.GONE);
}
}
});