如果我有以下字符串:
String string = “My string”
然后我可以使用SpanString改变它的颜色背景:
SpannableString spannableString = new SpannableString(string);
BackgroundColorSpan backgroundSpan = new BackgroundColorSpan(Color.RED);
spannableString.setSpan(backgroundSpan, 0, spannableString.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
然后,如果我做
Toast(context , spannableString , Toast.LENGHT_SHORT).show();
它会显示一个toast“My string”,背景变为红色。
但是,如何在不使用SpannableString类型的情况下显示相同的字符串? 我的意思是Toast(context,[toString] spannableString,Toast.LENGHT_SHORT).show();
[toString]:我的笔记
PS:我已经尝试了Toast.makeText(context, Html.fromHtml(spannableString.toString()), Toast.LENGTH_SHORT).show();
和
Toast.makeText(context, spannableString.toString(), Toast.LENGTH_SHORT).show();
因为我需要将其归结为:
entity.setAttribute([toString]Spannable);
但没有显示共同文字。
答案 0 :(得分:1)
没有使用Spannables是没办法的。 Spannables是您在Android中向文本添加格式数据的方式。即使你的fromHTML黑客也将html变成了一个跨越式的。
正确的做法是使用你需要使用的任何API,这需要一个字符串,而不是使用CharSequence。