2010-10-29 1 views
5

Ho bisogno di un EditText con un suffisso fisso. Sto usando un TextWatcher per catturare l'evento onTextChanged, ma se cambio di nuovo il testo aggiungendo il mio suffisso provoca un'eccezione di stackoverflow causata da una ricorsione infinita.Android EditText con un suffisso fisso


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

       //Doing some other stuff 

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

      }    
     } 

Ecco il codice.

+0

Inserisci il tuo codice in modo che qualcuno possa aiutarti, ci sono un miliardo di modi per provocare una ricorsione infinita, dobbiamo vedere cosa stai facendo. – blindstuff

risposta

1

Suppongo che si verifichi uno stack overflow perché quando si aggiunge il suffisso a livello di codice, viene attivato un evento onTextChanged.

Hai mai pensato di impostare un flag prima di impostarlo a livello di codice in modo che la prossima volta che viene chiamato puoi sapere di non aggiungere il suffisso?

L'alternativa è aggiungere solo il suffisso dopo che l'utente ha inviato il modulo.

+2

beh, che vergogna, non ho pensato ad abbozzarlo ed è stato così semplice.Tnx (provenendo da qt4 mi chiedevo se esistesse un qualche tipo di setSuffix()) – Martino