我想在EditText
中突出显示文本的两个部分。我是这样做的:
EditText etOpenAnswer;
int correctPartEndIndex;
UnderlineSpan correctPartSpan=new UnderlineSpan();
StrikethroughSpan incorrectPartSpan=new StrikethroughSpan();
if (etOpenAnswer.length()>=correctPartEndIndex) {
etOpenAnswer.getText().setSpan(correctPartSpan, 0, correctPartEndIndex, Spanned.SPAN_INCLUSIVE_INCLUSIVE);
etOpenAnswer.getText().setSpan(incorrectPartSpan, correctPartEndIndex, etOpenAnswer.length(), Spanned.SPAN_EXCLUSIVE_INCLUSIVE);
}
因此,文字的第一部分是从0
到correctPartEndIndex
(带下划线),第二部分是从correctPartEndIndex
到结尾(它被打破)。
一切都按照ICS及以后的预期工作,但在2.2和2.3.3中,两个跨度都应用于整个文本(文本加下划线并同时打击),这让我想到start
和{{1参数只是被忽略了。
我做错了什么?