【发布时间】:2012-07-11 09:01:39
【问题描述】:
我正在开发一个包含EditText 的android 应用程序。
我通过调用来控制editText中写入的内容
et.addTextChangedListener(new TextWatcher() {
public void afterTextChanged(Editable s) {
String message = et.getText().toString();
if(s.toString().compareTo(before)!=0){
et.setText(message);
et.setSelection(et.getText().length());
}
}
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
before = et.getText().toString();
System.out.println("After");
}
public void onTextChanged(CharSequence s, int start, int before, int count) {
System.out.println("ON");
}
});
在 afterTextChanged 函数中我使用et.setText("some Text");
问题是,文本改变后键盘也改变了,例如如果symbol键盘被打开并且我使用了setText,它会自动变为qwerty。
我该如何解决这个问题?
【问题讨论】:
-
请添加更多代码。我试试这个并得到“java.lang.StackOverflowError”
-
检查编辑..我添加了更多代码
-
您要使用特殊键盘吗?
-
我认为stackoverflow.com/a/26373852/845935 是更好的解决方案。为我工作。