0

我有 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
            }
     }
}
4

2 回答 2

1

您不能从另一个线程更改在主线程上初始化的视图。您应该考虑使用Handler在 UI 线程上发布。在该 run 方法中更新 TextView 也不明智,但我不确定您要准确完成什么。

于 2013-07-13T04:48:50.123 回答
0

您可以尝试TextView使用runOnUiThread()方法调用将文本设置为您的,例如以下内容:

runOnUiThread(new Runnable(){
  public void run() {
   //here set the textview content
  }
});
于 2013-07-13T06:34:59.017 回答