有點像手機英文輸入法中,按2一下代表a,連按兩下代表b,連續三下代表c。
據說,你可以用timertask來做這件事情。
我的一個設想是(未曾代碼試驗過,錯了請指出):
用戶按鍵“1”,那么計數他按了多少下,根據他按的次數去你事先寫好的數組中查到是哪一個字符。如果用戶遲遲沒有再按下去,那么到了一定時間,就應該確認他的輸入了,timer呢就調用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;
}