我有一个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”),而toggle button应该在分数和十进制之间切换显示,并且不应该触发“afterTextChanged”,因为值保持不变(3/4=0.75)。