我有一段使用SpannableStringBuilder的代码。但是我的主字符串中有很多模式。使用这些代码,我只能更改最后找到的模式。这是我的代码:
final Pattern ptn = Pattern.compile("java"); // i have 9 "java" in my string
final Matcher matcher = ptn.matcher(getString(R.string.test2));
final SpannableStringBuilder spannable = new SpannableStringBuilder(getString(R.string.test));
final ForegroundColorSpan span = new ForegroundColorSpan(Color.GREEN);
while (matcher.find()) {
spannable.setSpan(span, matcher.start(), matcher.end(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
}
txtView.setText(spannable);
我不知道我的问题在哪里?
matcher.find()
迭代创建一个新的span。 - pskink