Android SpannableString在strings.xml中定义的文本中

Android SpannableString在strings.xml中定义的文本中,android,Android,如何使用strings.xml中定义的字符串设置SpannableString 例如,我有:%s喜欢你的帖子 那我会的 SpannableString usernameSS = new SpannableString(username); usernameSS.setSpan(new StyleSpan(Typeface.BOLD_ITALIC), 0, username.length(), 0); getString(R.string.like_post, usernameSS); 但是它不

如何使用
strings.xml
中定义的字符串设置
SpannableString

例如,我有:
%s喜欢你的帖子

那我会的

SpannableString usernameSS = new SpannableString(username);
usernameSS.setSpan(new StyleSpan(Typeface.BOLD_ITALIC), 0, username.length(), 0);
getString(R.string.like_post, usernameSS);

但是它不起作用-这种风格没有得到应用,我知道我可以使用HTML的
,但是有没有一种方法可以做到这一点而不必求助于HTML?由于我以后可能需要通过
TextAppearanceSpan
插入更复杂的样式,是的,这里的顺序如下:

String finalString = getString(R.string.like_post, username);
SpannableStringBuilder spannableStringBuilder = new SpannableStringBuilder(finalString); 
int startIndex = finalString.indexOf(username);
spannableStringBuilder.setSpannable(new StyleSpan(Typeface.BOLD_ITALIC), startIndex, startIndex + username.length(), 0);

我应该这样做。请检查正确的开始/结束索引

非常有效!如果我有两个要在其中设置样式的字符串,是否要调用
setspan
两次?谢谢好的,太好了,谢谢!我还有一个问题,那就是这两个字符串可能与%s对一篇文章发表评论的
%s中的字符串相同,如果文章作者对自己的文章发表评论,那么
索引
将始终选择第一个字符串(因此不会为第二个设置样式)。但这是我要解决的另一个问题。谢谢Accept即将推出您可以使用
indexOf(String str,int from index)