2

のテキストの 2 つの部分を強調したいと思います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);
}

したがって、テキストの最初の部分は0to からcorrectPartEndIndex(下線が引かれています)、2 番目は fromcorrectPartEndIndexから最後まで (取り消し線が引かれています) です。ICS 以降ではすべてが期待どおりに機能しますが、2.2 と 2.3.3 では両方のスパンがテキスト全体に適用されます (テキストに下線が引かれ、同時に取り消し線が引かれますstart) end

私は何を間違っていますか?

4

0 に答える 0