我目前有一些操作與用戶在AutocompleteTextView中輸入內容的時間有關。但是,如果用戶停止輸入,我只想要註冊該操作。從本質上講,我不希望在用戶進行垃圾郵件輸入時發生操作。下面的代碼可能會更好地解釋它。Android:強制onKeyListener等待
AutocompleteTextView search = ...;
search.setOnKeyListener(new onKeyListener() {
public boolean onKey(View v, int keyCode, KeyEvent event) {
if (event.getAction() == KeyEvent.ACTION_UP) {
if (mTimer != null)
mTimer.cancel();
mTimer = new Timer();
mTimer.schedule(new TimerTask() {
public void run() {
my_func();
}
}, 1000);
return true;
}
return false;
}
}
public void my_func() {
Looper.prepare();
// Do some function that changes the View
Looper.loop();
}
任何想法如何強制keyListener等待幾秒鐘?
編輯:
我現在使用計時器來安排函數。參考上面編輯的代碼。
FIRST定時器的工作原理。但是,當我嘗試重新調用第二個計時器的函數時,我得到一個異常,表示只有初始化View的主線程才能修改View。我不確定Looper是如何工作的(我只是添加了Looper,因爲它在我需要使用之前就抱怨過了)。有什麼建議麼?
謝謝!我得到它與TimerTask的工作。 – Jin 2012-03-25 19:01:17
我遇到了有關線程的新問題,您是否知道我如何獲得計劃的計時器任務以使用同時修改視圖的函數? – Jin 2012-03-25 19:17:35
見編輯答案。 – 2012-03-25 19:25:12