如何为edittext实现一个简单的语法高亮方法?

我正在制作一个涉及编码的应用程序,我需要编辑文本来识别键入的单词是否为“某事物”然后取决于它是否已注册为彩色,它将为该单词着色。 这是我想要做的,当用户键入并输入“function”时,我希望它自动突出显示。 同样适用于任何其他“function”单词,“()”,“”以及用户键入的许多其他单词。

您可以通过使用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); } } });