AbsoluteSizeSpan 지우기, 그리고 StyleSpan 지우기

조회수 564회

for (int j=selectionStart; j<selectionEnd; j++) {
    for(StyleSpan s: spannable.getSpans(j, j+1, StyleSpan.class)) {
        spannable.removeSpan(s); // 서식 지우고
    }
}

위와 같이 한다면 StyleSpan은 선택된 영역에서만큼만 딱 지워지게 됩니다. 예를 들어서 전체를 Bold 해놓았고 일부만 선택하여 버튼을 누를 시, 선택된 영역만 Bold가 해제됩니다.

그러나 StyleSpan 대신 AbsoluteSizeSpan을 지우려고 하니 그렇지가 않습니다.

for (int j=selectionStart; j<selectionEnd; j++) {
    for(AbsoluteSizeSpan s: spannable.getSpans(j, j+1, AbsoluteSizeSpan.class)) {
        spannable.removeSpan(s); // 서식 지우고
    }
}

같은 구문이고 지우려는 대상만 다른데, 이 코드는 왜 전체 문장의 SizeSpan이 지워지는 지 알 수 없습니다.

해결법을 아시는 분 도와주시면 감사하겠습니다.

  • (•́ ✖ •̀)
    알 수 없는 사용자

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)