Toast显示字符串wodString带下划线和粗体,就像我在string.xml中一样。在下一行,当我尝试设置wod_type的文本时,它呈现文本而没有粗体或下划线。我已经尝试过施放,Html.fromHtml()等等。有人知道我还能尝试什么吗? PS:wod_type是TextView
CharSequence[] s = getResources().getTextArray(R.array.wod_style_array);
CharSequence wodString = s[position];
Toast.makeText(v.getContext(), wodString, Toast.LENGTH_SHORT).show();
wod_type.setText(wodString + m.wodScoring[position]);
答案 0 :(得分:2)
wodString + m.wodScoring[position]
是问题所在。 +
运算符将CharSequence
连接到单个String
。但是,String
无法保存样式信息。
您可以使用TextUtils.concat
来避免这些问题:
text.setText(TextUtils.concat(wodString, m.wodScoring[position]));
如果m.wodScoring[position]
不是String
,请使用适当的方法创建一个(例如Integer.toString
)。
答案 1 :(得分:0)
您需要使用spannable string class
http://developer.android.com/reference/android/text/SpannableString.html
String tempString="Copyright";
TextView text=(TextView)findViewById(R.id.text);
SpannableString spanString = new SpannableString(tempString);
spanString.setSpan(new UnderlineSpan(), 0, spanString.length(), 0);
spanString.setSpan(new StyleSpan(Typeface.BOLD), 0, spanString.length(), 0);
spanString.setSpan(new StyleSpan(Typeface.ITALIC), 0, spanString.length(), 0);
text.setText(spanString);