Fala galera do GUJ,
Estou desenvolvendo uma aplicação em android que funciona assim:
Tera um servidor, nesse servidor ira se conectar uma pessoa(escritor) ele enviara textos para o servidor e esse servidor ira despachar os textos para quem estiver conectado.
O problema é:
Quando o usuario se conecta, a tela dele precisara ser atualizada assim que o escritor enviar uma frase para o server, eu ja consegui fazer quase tudo o problema é que quando o escritor envia algo é lançada uma :
09-23 17:21:21.990: ERROR/AndroidRuntime(377): android.view.ViewRoot$CalledFromWrongThreadException: Only the original thread that created a view hierarchy can touch its views.
09-23 17:21:21.990: ERROR/AndroidRuntime(377): at android.view.ViewRoot.checkThread(ViewRoot.java:2802)
09-23 17:21:21.990: ERROR/AndroidRuntime(377): at android.view.ViewRoot.invalidateChild(ViewRoot.java:607)
09-23 17:21:21.990: ERROR/AndroidRuntime(377): at android.view.ViewRoot.invalidateChildInParent(ViewRoot.java:633)
09-23 17:21:21.990: ERROR/AndroidRuntime(377): at android.view.ViewGroup.invalidateChild(ViewGroup.java:2505)
09-23 17:21:21.990: ERROR/AndroidRuntime(377): at android.view.View.invalidate(View.java:5115)
09-23 17:21:21.990: ERROR/AndroidRuntime(377): at android.widget.TextView.invalidateCursor(TextView.java:3625)
09-23 17:21:21.990: ERROR/AndroidRuntime(377): at android.widget.TextView.spanChange(TextView.java:6221)
09-23 17:21:21.990: ERROR/AndroidRuntime(377): at android.widget.TextView$ChangeWatcher.onSpanAdded(TextView.java:6346)
09-23 17:21:21.990: ERROR/AndroidRuntime(377): at android.text.SpannableStringBuilder.sendSpanAdded(SpannableStringBuilder.java:906)
09-23 17:21:21.990: ERROR/AndroidRuntime(377): at android.text.SpannableStringBuilder.setSpan(SpannableStringBuilder.java:611)
09-23 17:21:21.990: ERROR/AndroidRuntime(377): at android.text.SpannableStringBuilder.setSpan(SpannableStringBuilder.java:514)
09-23 17:21:21.990: ERROR/AndroidRuntime(377): at android.text.Selection.setSelection(Selection.java:74)
09-23 17:21:21.990: ERROR/AndroidRuntime(377): at android.text.Selection.setSelection(Selection.java:85)
09-23 17:21:21.990: ERROR/AndroidRuntime(377): at android.text.method.ArrowKeyMovementMethod.initialize(ArrowKeyMovementMethod.java:497)
09-23 17:21:21.990: ERROR/AndroidRuntime(377): at android.widget.TextView.setText(TextView.java:2676)
09-23 17:21:21.990: ERROR/AndroidRuntime(377): at android.widget.TextView.setText(TextView.java:2556)
09-23 17:21:21.990: ERROR/AndroidRuntime(377): at android.widget.EditText.setText(EditText.java:75)
09-23 17:21:21.990: ERROR/AndroidRuntime(377): at android.widget.TextView.setText(TextView.java:2531)
09-23 17:21:21.990: ERROR/AndroidRuntime(377): at br.com.steno.TVTextoActivity$1.run(TVTextoActivity.java:27)
09-23 17:21:21.990: ERROR/AndroidRuntime(377): at java.lang.Thread.run(Thread.java:1096)
É lançado isso pois a Thread que esta tentando atualizar a tela não foi a principal da aplicação android, deu pra entender?
Tem como permitir que outras threads possam “mecher” na View da aplicação ?
[]'s