TextWatcher 在一次文本更改时使用不同的输入多次触发时发生了一个奇怪的错误,主要是在输入或删除空格时。
经过一些调查,我在“afterTextChanged”上得到了以下结果:
测试1,在字符串“Suger”->“Sugar”中输入空格:
测试 2,在字符串 "Su gar" -> "Su gar" 中输入另一个空格:
我已经找到了一个相关的问题,建议关闭文本建议(我想保留)或只接第一个电话(这在我的测试中是完全错误的): TextWatcher events are being fired multiple times
从理论上讲,我可以接受每个事件并每次更新,因为最后一个是正确的,但我真的不希望在我的视图模型中进行 3-4 次更新,而此时应该这样做。
有没有人也遇到过这个问题并且有可行的解决方案?
如果需要,我可以添加一些代码,但我实际上只是使用设置为 EditText 的 Textwatcher 的默认实现。