子线程是否可以操作UI?或者它只能使用处理程序在主线程中运行。但我使用这个代码。它没有发布错误。有人有想法吗?关于子线程操作UI
new Thread(new Runnable() {
public void run() {
TextView tv=(TextView) findViewById(R.id.aaa);
tv.setText("111");
}
}).start();
子线程是否可以操作UI?或者它只能使用处理程序在主线程中运行。但我使用这个代码。它没有发布错误。有人有想法吗?关于子线程操作UI
new Thread(new Runnable() {
public void run() {
TextView tv=(TextView) findViewById(R.id.aaa);
tv.setText("111");
}
}).start();
不,您不能从不同的线程执行UI操作。如果你想更新UI,你必须必须使用handlers。或者,您也可以使用async tasks或Activity.runOnUiThread。
通常只有主线程才会触及UI。否则,你不承诺获得例外,但你很有可能。
您应该使用handler
/asyncTask
/runOnUiThread
,因为它们是修改用户界面的方式,其他方式在某些情况下可能有效,但不能保证。