我有一个 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)。