[JavaME]如何確認(rèn)用戶連續(xù)按鍵指的是哪一個字符
Posted on 2005-11-16 19:19 讓變化成為計劃的一部分 閱讀(312) 評論(0) 編輯 收藏 所屬分類: J2ME有點像手機(jī)英文輸入法中,按2一下代表a,連按兩下代表b,連續(xù)三下代表c。
據(jù)說,你可以用timertask來做這件事情。
我的一個設(shè)想是(未曾代碼試驗過,錯了請指出):
用戶按鍵“1”,那么計數(shù)他按了多少下,根據(jù)他按的次數(shù)去你事先寫好的數(shù)組中查到是哪一個字符。如果用戶遲遲沒有再按下去,那么到了一定時間,就應(yīng)該確認(rèn)他的輸入了,timer呢就調(diào)用confirmCharacter()。
String[] values = {".,1","abc","def"... ...};
keyPressed(keyCode) {
int index = keyCode - KEY_NUM0;
if(index == lastindex) charselected++;
else lastindex = index;
// here reset the key confirmation timer
tempInputString+=values[index].char(charselected);
}
//When timer gets triggered, it calls this method
void confirmCharacter() {
inputString = tempInputString;
lastindex = -1;
}