Gingerbread上的Editable.setSpan():忽略了开始和结束参数

时间:2013-06-20 11:26:09

标签: android android-edittext

我想在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);
}

因此,文字的第一部分是从0correctPartEndIndex(带下划线),第二部分是从correctPartEndIndex到结尾(它被打破)。 一切都按照ICS及以后的预期工作,但在2.2和2.3.3中,两个跨度都应用于整个文本(文本加下划线并同时打击),这让我想到start和{{1参数只是被忽略了。

我做错了什么?

0 个答案:

没有答案