Desire Z с 2.3.3: TextWatcher не работает -> ошибка в стандартной клавиатуре?

Кажется, я только что столкнулся с довольно раздражающей ошибкой в ​​выпуске 2.3.3 для Desire Z (европейская версия). TextWatcher больше не работает при использовании стандартной клавиатуры HTC. Он работает на других устройствах, таких как Nexus One, Samsung Galaxy S, различных версиях эмулятора и даже на Motorola Milestone. Кроме того, функциональность возвращается, как только я использую другую клавиатуру.

Использование (вкратце) выглядит так:

editText.addTextChangedListener(textWatcher);
(...)

private TextWatcher textWatcher = new TextWatcher() {
        @Override
        public void onTextChanged(CharSequence s, int start, int before, int count) {}
        @Override
        public void beforeTextChanged(CharSequence s, int start, int count, int after) {}
        @Override
        public void afterTextChanged(Editable s) {}
}

Кто-нибудь испытывает такое же (неприятное) поведение? И есть ли у кого обходной путь, не связанный с установкой другой клавиатуры?

Спасибо, парни


person stfn    schedule 09.08.2011    source источник


Ответы (1)


Я заметил ту же проблему на том же оборудовании, на программном обеспечении, написанном специально для этой машины.

Я уже собирался заняться проблемой, но она исчезла сама собой, так как мой пользователь перешел на другую клавиатуру.

Взгляните на этот вопрос, предлагающий использовать InputFilter. Это то, что я хотел попробовать, то есть в функции фильтра делать все, что нужно, когда текст изменяется, а затем возвращать значение null из функции фильтра.

person Timores    schedule 05.10.2011
comment
благодаря. я просто рад, что я не единственный, кто испытывает это - person stfn; 14.10.2011