使用SpannableStringBuilder时,文本未设置为粗体

时间:2015-04-16 15:34:32

标签: android

我想将文字设为bold

public class Formatage {

    public Formatage() {
        super();
    }
    ...
    public static String bold(String text) {

            SpannableStringBuilder ssb = new SpannableStringBuilder(text);
            StyleSpan boldSpan = new StyleSpan(Typeface.BOLD);
            ssb.setSpan(boldSpan, 0, text.length(), Spannable.SPAN_INCLUSIVE_INCLUSIVE);
            return ssb.toString();

    }
    ...
}

在运行时我调用方法String chp = Formatage.bold("some_text");然后当我在String中显示AlertDialog“chp”时,文本不是粗体。

1 个答案:

答案 0 :(得分:1)

不要返回String,返回CharSequenceSpannable,它应该有效。

public static CharSequence bold(String text) {
   // ...
   return ssb;
}

SpannableStringBuilder的{​​{1}}实现返回一个toString(),其中包含此缓冲区中的字符副本,没有标记