SpannableString改變字體顏色不起作用

今天在寫代碼時遇到這樣的需求,就是在同一個textview中需要顯示兩種不同的字體顏色,想到了使用系統(tǒng)自帶的SpannableString 來實現(xiàn),但是寫完代碼后卻不起作用,代碼如下:

String optionString = item.getQuestionOption();
String optionNum = "(" + number + "人" + ")";
SpannableString spannableString = new SpannableString(optionNum);
spannableString.setSpan(new ForegroundColorSpan(Color.parseColor("#FF0000")), 0, spannableString.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
 helper.setText(R.id.tv_name, optionString+spannableString);

后來經(jīng)過反復(fù)測試后得以解決,正確代碼:

  String optionString =  item.getQuestionOption();
  String optionNum = "(" + number + "人" + ")";
  String option=optionString+optionNum;
  SpannableString spannableString = new SpannableString(option);
  spannableString.setSpan(new ForegroundColorSpan(Color.parseColor("#FF0000")), optionNum.length(), spannableString.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
  helper.setText(R.id.tv_name, spannableString);

問題就在最后一行,即當(dāng)使用spannableString時,最后textview.setText(spannableString)的時候,括號里面只能有spannableString才會起作用,如果是textview.setText(String+spannableString)是不行的。以前沒有注意過,算是一個小坑。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容