我正在尝试在给定时处理输入字符,清除框,并准备处理另一个。
该应用程序使用一个始终最多包含 1 个字符的 EditBox。当用户输入一个新字符时,将触发一个监听器。该侦听器(TextWatcher)的 afterTextChanged 方法处理输入的字符并清除文本。之后,它会清除文本框,让它准备好听下一个。然而,在那之后它继续开火。我尝试设置一个标志以仅处理每隔一次触发,但有时它是狡猾的并且触发奇数次并且将标志翻转错误。
@Override
public void afterTextChanged(Editable arg0) {
if (arg0.length() > 0) {
//if (mToggle)
{
act.checkText(arg0.toString().substring(arg0.length() - 1));
text.setText("");
}
mToggle = !mToggle; // to catch extra fire-off
}
}
mToggle 是 TextWatcher 实现的一个属性变量。
1)为什么要多次开火?
2)我需要在这里做什么?
非常感谢,
内森