【发布时间】:2019-12-21 14:55:58
【问题描述】:
所以我的布局中有一个“EditText”用于简单的文本输入。 当我写一个主题标签时,例如“#hello”,我希望该主题标签以蓝色突出显示
editText.setOnTextChangedListener(...) {
public void afterTextChanged(...)
// replace current String with editText.setText(Html.parse(...));
}
我已经尝试了一些方法来实现这一点 - 我的 afterTextChangedListener 中的 SpannableStrings 和基于 HTML 的 setTexts - 我遇到的唯一问题是,当我尝试输入内容时,我的光标跳到了第一个位置 - 所以一个真实的 -我猜,时间高亮在 Android Java 中不能像这样工作 - 至少在我的算法中不行。
有什么建议吗?
【问题讨论】:
-
如果光标跳到第一个位置是您真正的问题,那么可以通过
editText.setSelection(editText.getText().length());解决。完成颜色更改后使用此代码。 -
@sunilsunny 这里的问题是,我无法在文本中间输入文本 - 所以这对我不起作用
标签: java android android-edittext highlight