0

每个人。我正在尝试使用 spannablestring 设置字符串中几个单词的颜色。但由于某种原因,我无法更改字符串的颜色。

我已附上相关代码

  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);            

在文本视图中,我希望“这是整个字符串”为默认颜色,而“某些字符串”为绿色。但这没有发生。我正在以默认颜色获取整个字符串。我似乎遗漏了一些重要的东西,但我不知道是什么。

有什么建议吗?

4

1 回答 1

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);  
于 2013-08-13T17:15:33.690 回答