2010-10-29 83 views
5

我需要带有固定后缀的EditText。我正在使用TextWatcher来捕获onTextChanged事件,但是如果我通过添加后缀再次更改文本,它将导致由无限递归引起的stackoverflow异常。带有固定后缀的Android EditText


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

       //Doing some other stuff 

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

      }    
     } 

下面的代码。

+0

发布您的代码,以便有人可以提供帮助,有十亿种方法可以导致无限递归,我们需要看看您在做什么。 – blindstuff 2010-10-29 17:12:00

回答

1

我假设你有一个堆栈溢出,因为当你以编程方式添加后缀时,它会触发一个onTextChanged事件。

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

另一种方法是仅在用户提交表单后添加后缀。

+2

好吧,真是遗憾,我不认为它是如此简单.Tnx(来自qt4,我想知道是否有任何setSuffix()) – Martino 2010-10-31 10:30:19