使用setSpan(new ForegroundColorSpan(),int,int,int)设置颜色时出现问题

时间:2013-08-13 17:03:45

标签: android

大家。我试图使用spannablestring.But设置字符串中的几个单词的颜色由于某种原因我不能让字符串的颜色改变。

我已附上相关代码

  String color = "some string"
  SpannableString span_color=  new SpannableString(color);
  span_color.setSpan(new ForegroundColorSpan(Color.GREEN),0,11,0);


  String print = "This is the whole string"+span_color;
  TextView textview = (TextView) findViewById(R.id.text);
  textview.setText(reminder);            

在文本视图中,我希望“这是整个字符串”为默认颜色,“some string”为绿色。但这没有发生。我得到了整个字符串的默认颜色。我似乎缺少一些重要的东西,但我无法弄清楚是什么。

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

使用" +"运算符你得到的只是字符串,而不是SpannableString。你应该这样做:

String color = "This is the whole string, color string";
SpannableString spanColor = new SpannableString(color);
spanColor.setSpan(new ForegroundColorSpan(Color.GREEN), color.indexOf("color string"), color.length(), 0);
TextView textview = (TextView) findViewById(R.id.text);
textview.setText(spanColor);