String text="Android is a operating system for mobile. Android latest version is kitkat.";
我有两个edittext。第一个edittext用于搜索文本。第二个edittext用于显示文本。
如果我在第一个edittext中输入了android,它会搜索String文本并在第二个edittext中显示结果。现在mu问题是如何通过仅更改Android文本的颜色来替换Android文本。
例如:Android(红色)是移动操作系统。 Android(红色)最新版本是kitkat。
我试过String ss=text.replaceAll(Android font color=\"red\" + Android + "/font
这个代码。
edtresult.setText(Html.fromHtml(SS)。
Html删除所有空格
提前致谢
答案 0 :(得分:3)
您可以像这样尝试Spannable:
EditText et = (EditText) findViewById(R.id.edit_text);
SpannableString ss = new SpannableString("Android is a operating system for mobile. Android latest version is kitkat.");
String textToSearch = "Android";
Pattern pattern = Pattern.compile(textToSearch);
Matcher matcher = pattern.matcher(ss);
while (matcher.find()) {
ss.setSpan(new ForegroundColorSpan(Color.RED), matcher.start(), matcher.end(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
}
et.setText(ss);
答案 1 :(得分:1)
您可以按照here
所述使用Spannables