Я искал разные вопросы, но не нашел ничего конкретного в моей проблеме.Я изменяю цвет текста, выбирая цвет, и работает успешно, однако, когда я начинаю удалять свой текст редактирования после ввода цветного текста, я получаю эту ошибку.
myedittext.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
spannableString.setSpan(new ForegroundColorSpan(Color.parseColor(txtColor)), start, start+1, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
}
@Override
public void afterTextChanged(Editable s) {
}
});
}
Я получаю следующую ошибку
java.lang.IndexOutOfBoundsException: setSpan (118 ... 119) ends beyond length 118
at android.text.SpannableStringBuilder.checkRange(SpannableStringBuilder.java:1309)
at android.text.SpannableStringBuilder.setSpan(SpannableStringBuilder.java:680)
at android.text.SpannableStringBuilder.setSpan(SpannableStringBuilder.java:672)
at com.apps.primalnotes.Fragments.EditorFragment$16.onTextChanged(EditorFragment.java:842)
at android.widget.TextView.sendOnTextChanged(TextView.java:10611)
at android.widget.TextView.handleTextChanged(TextView.java:10715)
at android.widget.TextView$ChangeWatcher.onTextChanged(TextView.java:14057)
Я пишу двумя цветами сейчас вот так
теперь, когда я сохраню это.он сохраняет только в розовом цвете и показывает мне вот так но теперь, когда я сохраняю его снова без каких-либо изменений, он сохраняет в цветах, которые я написал