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

Мне кажется, я только что столкнулся с довольно досадной ошибкой в ​​выпуске 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) {}
}

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

Спасибо, ребята

1 Ответ

0 голосов
/ 06 октября 2011

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

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

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

...