Android runOnUiThread
是一個用于在主線程(UI線程)上執行代碼的方法,主要用于處理與用戶界面相關的操作。以下是一些常見的使用場景:
runOnUiThread(new Runnable() {
@Override
public void run() {
textView.setText("新的文本");
}
});
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
runOnUiThread(new Runnable() {
@Override
public void run() {
// 更新UI元素或執行其他操作
}
});
}
});
runOnUiThread(new Runnable() {
@Override
public void run() {
button.setEnabled(false);
}
});
runOnUiThread
來確保UI更新在主線程上執行。new AsyncTask<Void, Void, String>() {
@Override
protected String doInBackground(Void... voids) {
// 執行耗時操作
return result;
}
@Override
protected void onPostExecute(String result) {
runOnUiThread(new Runnable() {
@Override
public void run() {
// 更新UI元素
}
});
}
}.execute();
需要注意的是,runOnUiThread
主要用于確保UI操作在主線程上執行,但在某些情況下,你可能需要將UI操作委托給其他線程處理。這時,你可以使用Handler
來實現線程間的通信和UI更新。