为地理编码结果设置自动完成超时

时间:2012-09-19 11:22:45

标签: android autocomplete timeout geocoding

管理处理输入超时的最佳方法是什么?

我尝试了这样的代码(受代码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(...)函数一样具有相同的行为。

任何帮助表示赞赏

1 个答案:

答案 0 :(得分:1)

您可以在按下新键时取消之前发送给处理程序的消息:

Message msg = Message.obtain(messageHandler, MESSAGE_TEXT_CHANGED, arg0.toString());
messageHandler.removeMessages(MESSAGE_TEXT_CHANGED);
messageHandler.sendMessageDelayed(msg, 1000 );