我有一个EditText,我在那里听取文本的变化:
editText.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) {
// do stuff
}
});
到目前为止这个工作正常,如果我在EditText中输入内容,就会执行afterTextChanged()中的内容 . 现在,在同一个活动中,我有一个ToggleButton,它可以改变EditText中的字符串 . 由于ToggleButton触发“afterTextChanged”,如何防止此文本更改?
PS:不确定这是否相关,但具体来说我有一个接受小数或小数的EditText(例如“0.75”或“3/4”),切换按钮应在小数和小数显示之间切换,但不应触发任何内容在“afterTextChanged”中,因为值保持不变(3/4 = 0.75) .
1 回答
在我看来,有两种可能性:
注册/取消注册监听器
旗帜
标志示例: