Вы должны использовать TextWatcher
для этой цели. TextWatcher’s
afterTextChanged()
метод вызывается, чтобы уведомить вас, что где-то в пределах EditText
текст был изменен.
Если текст изменен, а длина равна 1, что означает, что набор текста начат, длина равна 0, что означает, что набор текста остановлен.
Пример кода Android:
messageEditText.addTextChangedListener(new TextWatcher() {
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
public void onTextChanged(CharSequence s, int start, int before, int count) {
}
public void afterTextChanged(Editable s) {
if (!TextUtils.isEmpty(s.toString()) && s.toString().trim().length() == 1) {
//Log.i(TAG, “typing started event…”);
typingStarted = true;
//send typing started status
} else if (s.toString().trim().length() == 0 && typingStarted) {
//Log.i(TAG, “typing stopped event…”);
typingStarted = false;
//send typing stopped status
}
}
});
Вы можете запускать и останавливать свой таймер на основе значений выше.