public void afterTextChanged (Editable s)
Этот метод вызывается для уведомления о том, что где-то в пределах s
текст был изменен. Вполне допустимо вносить дальнейшие изменения в s
с помощью этого обратного вызова, но будьте осторожны, чтобы не попасть в бесконечный цикл, потому что любые внесенные вами изменения приведут к повторному вызову этого метода. (Вам не сообщается, где произошло изменение, потому что другие методы afterTextChanged (), возможно, уже внесли другие изменения и сделали недействительными смещения. Но если вам нужно знать здесь, вы можете использовать setSpan(Object, int, int, int)
в onTextChanged(CharSequence, int, int, int)
, чтобы отметить ваше место и затем посмотрите вверх отсюда, где пролет закончился.
public void beforeTextChanged (CharSequence s, int start, int count, int after)
Этот метод вызывается для уведомления о том, что в s
символы count
, начинающиеся с start
, собираются заменить новым текстом длиной after
. Ошибка при попытке внести изменения в s
из этого обратного вызова.
public void onTextChanged (CharSequence s, int start, int before, int count)
Этот метод вызывается, чтобы уведомить вас о том, что в пределах s
символы count
, начинающиеся с start
, только что заменили старый текст, имеющий длину before
. Ошибка при попытке внести изменения в s
из этого обратного вызова.
Справа от Справочник Android по TextWatcher .