我已将TextView
添加到RelativeLayout
,我已将其添加到SurfaceView
。我可以让TextView
在我的SurfaceView
上显示文字。从线程更新TextView中的文本
rl = new RelativeLayout(this);
tv = new TextView(this);
tv.setText(Integer.toString(GameScreen.score));
tv.setTextSize(50);
tv.setPadding(390, 50, 0, 0);
tv.setTextColor(Color.BLACK);
rl.addView(renderView);
rl.addView(tv);
setContentView(rl);
然后在我的GameScreen类的更新方法,我把:
game.getTextView().setText(Integer.toString(score));
,它给我的错误:
android.view.ViewRootImpl$CalledFromWrongThreadException: Only the original thread that created a view hierarchy can touch its views.
我能做些什么来解决这个问题?
的可能的复制[Android的 - ViewRootImpl $ CalledFromWrongThreadException(http://stackoverflow.com/questions/10118301/android-viewrootimplcalledfromwrongthreadexception) – rkosegi
感谢rkosegi我读了它,但是从ANKIT解决方案做了一些感觉,但我直到@MustansarSaeed解释它不明白它 – Noitidart
可能重复的[Android的更新TextView在线程和运行](http://stackoverflow.com/questions/12716850/android-update-textview-in-thread-and-runnable) – OnePunchMan