2014-03-12 36 views
0
String text="Android is a operating system for mobile. Android latest version is kitkat."; 

我有两个edittext。第一个编辑文本用于搜索文本。第二个edittext用于显示文本。如何在edittext中用改变文本颜色替换特定单词

如果我在第一个edittext中输入android,它将搜索字符串文本并在第二个edittext中显示结果。现在亩问题是如何更换Android文本,只更改Android文本的颜色。
例如:Android(红色)是一款适用于手机的操作系统。 Android(红色)最新版本是kitkat。

我试过String ss=text.replaceAll(Android font color=\"red\" + Android + "/font
此代码。 。
edtresult.setText(Html.fromHtml(SS)
的Html删除所有的空间

在此先感谢

回答

1

您可以使用Spannables描述here

+1

虽然,与问题无关,它是'spannables'上的一个很好的阅读。谢谢。 – tpk

2

你可以尝试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);