我有一個字符串列表,我想比較每次在EditText中寫入的列表。如果有匹配,那麼我必須添加一個「 - 」字符作爲該字的前綴。在EditText中爲單詞添加前綴
我使用的是TextWatcher這是我到目前爲止的代碼:
@Override
public void afterTextChanged(Editable s) {
String tmp = s.toString();
words = tmp.split(" ");
for (int i = 0; i < words.length; i++) {
for (Iterator iterator = myList.iterator(); iterator
.hasNext();) {
String str = (String) iterator.next();
if (str.equalsIgnoreCase(words[i])) {
if (!words[i].contains("-")) {
tmp = tmp.replace(words[i], "-" + words[i]);
}
editMain.setText(tmp);
editMain.setSelection(tmp.length());
}
}
}
}
它的工作原理,但如果我在我的EditText兩次鍵入相同的單詞,第一ocurrence得到兩個「 - 」。
例如:
您好,這是-Android(工作正常)
您好,這是--android -Android(不起作用OK)
和所期望的結果應該是:
你好,這是-android機器人(因爲重複的單詞已經存在)
任何幫助嗎?在此先感謝
謝謝Snicolas,情況是這樣的,你的解決方案很好。 – pindleskin