0
我想,當用戶點擊「DEL」鍵(屏幕鍵盤上),修改的操作,這裏的代碼OnKeyListener安其重複動作
ed.setOnKeyListener(new View.OnKeyListener() {
@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_DEL) {
if(contadorcor == 0){
String output = correctOutput(String.valueOf(ed.getText()));
ed.setText(output);
ed.setSelection(num);
contadorcor++;
}
}
contadorcor = 0;
return false;
}
});
public static String correctOutput(String s) {
String input = s;
int pos = 0;
for (int i = 0; i < input.length(); i++) {
if(input.charAt(i) != ' ') {
if(input.charAt(i) != '_') {
pos = i;
}
}
}
String output = "";
for (int i = 0; i < input.length(); i++) {
if(i != pos) {
output = output + String.valueOf(input.charAt(i));
} else {
output = output + "_";
}
}
num = num - 2;
return output;
}
要理解爲什麼我這樣做了,因爲有是一個像這樣的未知單詞「_ _ _ _ _ _ _ .....」,並且當用戶在嘗試猜測時刪除了一個字母,可以說「THISIK | _ _ ...」並且想要更正「K」並且光標位於下一個「下劃線」的開頭,我想刪除「k」並用「下劃線」代替它,然後將光標放在那裏。 「T H I S I | _ _ _ _ ....」
但是,當我按下刪除鍵使這個動作兩次,並刪除2個字母。我提到keydown和keyup,這就是爲什麼它重複,但我不知道如何解決它。我試過做某種計數器,但它不工作
在此先感謝。
非常感謝我會試一試! – user2053905 2013-02-13 12:06:06