Хочу написать метод который будет проверять два String на идентичность. Первый String будет содержать правильный ответ, а второй будет частично набираться вручную. Поэтому мне нужно чтобы в результате, текст мог выделяться красным цветом, но только не весь, а та часть где есть ошибка.
private void testOne() {
int len = 0, i = 0;
String one, two, ds = "";
one = "hellow world";
two = "Qellow Qorld";
while(i < two.length()) {
if (one.charAt(i) != two.charAt(i)) {
ds += two.charAt(i);
len = i;
} else {
ds += two.charAt(i);
}
i++;
}
Spannable ss = new SpannableString(ds);
ss.setSpan(new ForegroundColorSpan(Color.RED), len, i, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
numberOFresponses.setText(ss); // Вывожу результат на экран.
}
Вот что у меня получилось.
int len // дает знать с какого символа начинать закрашивать.
Возможно нужно это всё делать через массивы, но я не знаю как это реализовать.
SpannableString ss = new SpannableString(two);
while (i<two.length()) {
if (one.charAt(i)!=two.charAt(i))
ss.setSpan(new ForegroundColorSpan(Color.RED), i, i+1,
Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
i++;
}
numberOFresponses.setText(ss);
Продвижение своими сайтами как стратегия роста и независимости