多次调用 TextWatcher 方法



我在适配器中有一个编辑文本,我已经附加了addTextChangedListener,并多次调用了它的所有方法, 我的输出就像,如果我想把 Home 输出来像 H Ho Hom Home

编辑使用计时器在用户键入时取消处理

您可以尝试添加计时器来处理您的文本,并在用户键入时取消此处理。

private Timer timer;
myButton.addTextChangedListener(new TextWatcher() {  
@Override
public void afterTextChanged(Editable arg0) {
// user typed: start the timer
timer = new Timer();
timer.schedule(new TimerTask() {
@Override
public void run() {
// do your actual work here
}
}, 600); // 600ms delay before the timer executes the „run“ method from TimerTask
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
// nothing to do here
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
// user is typing: reset already started timer (if existing)
if (timer != null) {
timer.cancel();
}
}
});

希望对您有所帮助!

相关内容

  • 没有找到相关文章

最新更新