先说明需求,是在输入编辑框EditText中实现输入@字符后其后输入的中文和数字都会高亮,其他字符出现时,自动截断高亮部分。
思路:使用TextWatcher实现监听,对于监听到的文本,使用正则表达式,匹配出符合条件的文本,然后使用SpannableString对其实现高亮。
private TextWatcher textWatcher = new TextWatcher() {
int l = 0;//记录字符串被删除字符之前,字符串的长度
int location = 0;
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {