最近都没怎么来这里 不好意思这么久才回你
我猜你测试的时候是键入的这些内容
是这样的:
在我们键入回车键的时候,实际上生成的是两个字符:一个是换行键(ASCII码13),一个是回车键(ASCII码10)
然后用indexOf查找的时候 每多一个回车 实际上多出一个字符
而在highlighter 渲染的时候 会认为这两个字符是一个字符
所以就会每行下错一个
把你的这行:
String textInText = text.getText();
改成:
String textInText = text.getText().replaceAll(String.valueOf((char) 13), "");
text.setText(textInText);
这样就可以了
暂时怀疑这是HighLighter的bug 等我腾出时间来仔细看看类库里边怎么写的吧