Android EditText带有固定后缀

5

我需要一个带有固定后缀的EditText。我正在使用TextWatcher来捕获onTextChanged事件,但是如果我通过添加后缀再次更改文本,它会导致堆栈溢出异常,从而引发无限递归。


 msgtextview.addTextChangedListener(new TextWatcher() {
        public void afterTextChanged(Editable s) {

               //Doing some other stuff

               msgtextview.setText("Changed Text") //This cause infinite recursion

            }               
        }

这里是代码。

发布你的代码以便他人帮助,有无数种方法可以导致无限递归,我们需要看到你在做什么。 - blindstuff
1个回答

1

我猜你遇到了堆栈溢出的问题,因为当你以编程方式添加后缀时,它会触发onTextChanged事件。

你有没有想过在以编程方式设置之前设置一个标志,这样下次调用它时,你就知道不要添加后缀了?

另一种选择是在用户提交表单后再添加后缀。


2
哎呀,真可惜,我没有考虑到它,结果如此简单。谢谢(来自qt4,我在想是否有任何setSuffix()函数)。 - Martino

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接