我有SurfaceView和Run()方法,它就像一个循环,如何在这个Run方法中编辑textView文本? 我写道:
textView1.setText("my text");
它不起作用?有任何想法吗 ? 代码摘要是:
public class GFXSurface extends Activity {
MySurface ourSurfaceView;
TextView textView1;
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(ourSurfaceView);
}
public class MySurface extends SurfaceView implements Runnable{
@Override
public void run() {
//here i want to edit textView1
}
}
}
答案 0 :(得分:1)
您无法更改从另一个线程在主线程上初始化的视图。您应该考虑使用Handler在UI线程上发布。在运行方法中更新TextView也不是明智之举,但我不确定你要完全实现的目标。
答案 1 :(得分:0)
您可以尝试使用TextView
方法调用为runOnUiThread()
设置文字,例如:
runOnUiThread(new Runnable(){
public void run() {
//here set the textview content
}
});