管理输入超时的最佳方法是什么?
我试过这样的代码(受代码 here 启发):
public void onTextChanged(CharSequence arg0, int arg1, int arg2, int arg3) {
//...
Message msg = Message.obtain(messageHandler, MESSAGE_TEXT_CHANGED, arg0.toString());
messageHandler.sendMessageDelayed(msg, 1000 );
//...
}
但在日志中我可以看到地理编码器在每次按键时都会被调用,无论我输入的速度有多快。我希望拥有与 Javascript 的 setTimeout(...) 函数相同的行为。
感谢任何帮助
最佳答案
您可以在按下新键时取消之前发送给处理程序的消息:
Message msg = Message.obtain(messageHandler, MESSAGE_TEXT_CHANGED, arg0.toString());
messageHandler.removeMessages(MESSAGE_TEXT_CHANGED);
messageHandler.sendMessageDelayed(msg, 1000 );
关于android - 为地理编码结果设置自动完成超时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12493729/