【发布时间】:2013-10-31 23:51:36
【问题描述】:
我需要在 Android 的 ListView 中突出显示 TextView 并查看 at CommonsWare response here 我决定使用 .setText(Html.fromHtml(htmlString) 方法。 所以在我的适配器中我有这个 formatString() 方法。
我遇到了 2 个问题:
1) 它似乎不起作用。
2) 即使它可以工作,它也会受到限制,因为 fullString 可以全部为大写字母、全部为小写字母或以大写字符作为单词中的第一个字符。
textToHighlight 只会出现在 fullString 中单词的开头。
private String formatString(String textToHighlight, String fullString) {
if (textToHighlight== null || textToHighlight.equals("")) {
return fullString;
}
String colore = "\"#0099CC\"";
String htmlSubString = "<font color=" + colore + ">"
+ textToHighlight+ "!</font>";
fullString.replace(textToHighlight, htmlString);
return fullString;
}
输出应该是:
a) formatString("ca", "Cake Maccaroni") = "<font color=\"#0099CC\">Ca</font>ke Maccaroni"
b) formatString("ca", "CAKE MACCARONI") = "<font color=\"#0099CC\">CA</font>KE MACCARONI"
c) formatString("ca", "Maccaroni Cake") = "Maccaroni <font color=\"#0099CC\">Ca</font>ke"
d) formatString("ca", "MACCARONI CAKE") = "MACCARONI <font color=\"#0099CC\">CA</font>KE"
e) formatString("ca", "cake maccaroni") = "<font color=\"#0099CC\">ca</font>ke maccaroni"
【问题讨论】:
-
问题 2 可能与 stackoverflow.com/questions/8753163/… 重复
-
你是对的,它有效,以前可以找到它。我应该在新的答案中提供答案、编辑问题还是闭嘴?
-
我想我们不需要再说什么了。
标签: java android string replace