我正在开发一个需要编码的应用程序,我需要让EditText识别用户输入的单词,如果输入的单词是“something”,那么根据是否注册了这个单词的颜色,它将着色。以下是我的要求:当用户输入并敲入“function”时,我希望它能自动高亮显示。同样适用于其他“function”单词,“()”,“ ”和用户输入的其他单词。
我正在开发一个需要编码的应用程序,我需要让EditText识别用户输入的单词,如果输入的单词是“something”,那么根据是否注册了这个单词的颜色,它将着色。以下是我的要求:当用户输入并敲入“function”时,我希望它能自动高亮显示。同样适用于其他“function”单词,“()”,“ ”和用户输入的其他单词。
editText.addTextChangedListener(new TextWatcher() {
final String FUNCTION = "function";
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {}
@Override
public void afterTextChanged(Editable s) {
int index = s.toString().indexOf(FUNCTION);
if (index >= 0) {
s.setSpan(
new ForegroundColorSpan(Color.CYAN),
index,
index + FUNCTION.length(),
Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
}
}
});
==
来比较字符串的值,即使在示例中也是如此。请改用equals
。 - Pshemo