翻译中的大胆文字丢失

时间:2014-03-21 18:21:56

标签: android

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

2 个答案:

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