我正在制作一个涉及编码的应用程序,我需要 edittext 来识别输入的单词是否是“某物”,然后根据它是否已注册为彩色,它会为单词着色。这是我想要做的,当用户输入并输入“功能”时,我希望它自动突出显示。其他任何“功能”词、“()”、“””以及用户键入的许多其他词也是如此。
最佳答案
您可以使用 TextWatcher 来完成此操作像这样:
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);
}
}
});
关于java - 如何实现简单的edittext语法高亮方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20668792/