1

我想我刚刚在 Desire Z(欧洲版)的 2.3.3 版本中遇到了一个非常烦人的错误。使用 HTC 的普通键盘时,TextWatcher 不再工作。它适用于其他设备,例如 Nexus One、三星 Galaxy S、各种模拟器版本,甚至摩托罗拉里程碑。此外,一旦我使用不同的键盘,功能就会恢复。

用法(简而言之)如下所示:

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) {}
}

有没有人经历过相同的(令人讨厌的)行为?有没有人有不涉及安装不同键盘的解决方法?

多谢你们

4

1 回答 1

0

我注意到在相同的硬件上,在专门为这台机器编写的软件上也出现了同样的问题。

我正要解决这个问题,但它自己消失了,因为我的用户已经切换到另一个键盘。

看看这个问题,建议使用 InputFilter。这就是我想尝试的,即在过滤器函数中,在文本更改时执行所需的任何操作,然后从过滤器函数返回 null。

于 2011-10-05T20:25:05.157 回答