0

难道子线程可以操作UI?或者它只能使用handler在主线程中操作。但我使用这段代码。它没有启动错误。有人有想法吗?

new Thread(new Runnable() {
            public void run() {
                TextView tv=(TextView) findViewById(R.id.aaa);
                tv.setText("111");
            }
        }).start();
4

2 回答 2

1

不,您不能从不同的线程执行 UI 操作。如果要更新 UI,则必须使用handlers。或者,您也可以使用异步任务Activity.runOnUiThread

于 2012-11-22T07:35:12.423 回答
0

通常只有主线程应该接触 UI。否则你不会得到例外,但你很有可能会。

您应该使用handler//因为它们是修改 UI 的方式asyncTaskrunOnUiThread其他方式在某些情况下可能有效,但不能保证。

于 2012-11-22T07:36:16.390 回答