我需要一个带有固定后缀的EditText。我正在使用TextWatcher来捕获onTextChanged事件,但如果我通过添加后缀再次更改Text,则会导致由无限递归引起的stackoverflow异常。
msgtextview.addTextChangedListener(new TextWatcher() {
public void afterTextChanged(Editable s) {
//Doing some other stuff
msgtextview.setText("Changed Text") //This cause infinite recursion
}
}
这是代码。
答案 0 :(得分:1)
我假设您有堆栈溢出,因为当您以编程方式添加后缀时,它会触发onTextChanged事件。
您是否考虑过以编程方式设置标志,以便下次调用时可以知道不添加后缀?
另一种方法是仅在用户提交表单后添加后缀。