子線程是否可以操作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
,因爲它們是修改用戶界面的方式,其他方式在某些情況下可能有效,但不能保證。