我想我刚刚在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) {}
}
有没有人经历同样(讨厌)的行为?有没有人有一个解决方法,不涉及安装不同的键盘?
谢谢你们
答案 0 :(得分:0)
我在同一台硬件上注意到同样的问题,专门为这台机器编写的软件。
我正准备解决这个问题,但是当我的用户切换到另一个键盘时,它本身就消失了。
查看this question,建议使用InputFilter。这就是我想要尝试的,即在过滤函数中,在文本更改时执行任何操作,然后从过滤器函数返回null。