Я использую TextWatcher, чтобы изменить текст EditText во время ввода. Строка добавляет новый/замененный текст в старый текст, а затем отображает его. Я хочу отображать только новый/замененный текст. Я пытаюсь сохранить индекс «предыдущего» текста и отображать только новый текст, который был заменен. Я не уверен, что это правильный способ сделать это, возможно, я делаю это совершенно неправильно, поэтому он дает мне индекс из связанного исключения. Может ли кто-нибудь помочь. Например, я набираю a, и в следующий раз, когда я набираю b, текст, отображаемый в текстовом поле, является aab, а не ab, я хочу удалить эту избыточность. Ниже мой код: А также, как я могу вставить символ новой строки, если символы на линию превышают предел, например, 10, символы после 10 символов должны быть отображением в следующей строкеУказатель Out Of Bound Exception в TextWatcher
tw = new TextWatcher()
{
public void beforeTextChanged(CharSequence s,int start,int count, int after){}
public void onTextChanged(CharSequence s, int start, int before, int count)
{
txtData.removeTextChangedListener(tw);
txtData.setText(s.toString().replace("\n", "*"))
txtData.addTextChangedListener(tw);
}
};
txtData.addTextChangedListener(tw);
что вы хотите достичь? atm каждое письмо, которое вы пишете, будет обрабатываться индивидуально. Я предполагаю, что вы хотите обрабатывать charsequence в настоящее время в вашем текстовом виде. это будет s. вам не нужно называть getText() на txtData, который является edittext, прикрепленным к тексту, я принимаю –
Спасибо, Дэниэл за ваш ответ. Я внес изменения в свой код в соответствии с вашим предложением, но проблема остается. Я хочу удалить избыточные/повторяющиеся символы и вставить новую строку после n числа символов. Например, если я набираю букву a, она отображается в edittext, но когда я пытаюсь ввести следующую букву, она добавляет предыдущий текст к следующему/новому тексту, например a, а затем aab, а затем aabaabc then aabaabaabc, но я просто хотите, чтобы abc отображался в редакторе, все равно я могу избавиться от избыточного текста? и вставить \ n скажем после 10 символов в edittext? – user2387107