2012-09-19 29 views
1

管理處理打字超時的最佳方式是什麼?爲地理編碼結果設置自動完成超時

我想這樣的代碼(由代碼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

當一個新的按鍵你可以取消發送到處理程序之前的消息:

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