文字列のリストがあり、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に同じ単語を2回入力すると、最初の出現は2つの「-」になります。
例えば:
こんにちはこれは-androidです(正常に動作します)
こんにちはこれは--android-androidです(正常に動作しません)
そして、望ましい結果は次のようになります。
こんにちはこれは-androidandroidです(繰り返される単語がすでに存在するため)
何か助けはありますか?前もって感謝します