1.说明
安卓中UI线程为主线程,更新UI界面必须在主线程中进行,在子线程中实现更新UI界面的三种方法:Handler、RunOnUiThread、控件.post()
2.1 Handler
(1)定义handler
private Handler handler=new Handler(new Handler.Callback() {
@Override
public boolean handleMessage(@NonNull Message message) {
switch (message.what){
case 0:
String S=(String)msg.obj;
Btn.setText(S);
break;
case 1:
break;
default:break;
}
return false;
}
});
(2)使用
Message msg=new Message();
msg.what=0;
msg.obj="Finish";//此处也可以传递对象
handler.sendMessage(msg);
<2>RunOnUiThread
runOnUiThread(new Runnable() {
@Override
public void run() {
//doSomething;
}
});
2.2 控件.post()
TextView.post(new Runnable() {
@Override
public void run() {
TextView.setText("Fi");
}
});
}
2.3 在子线程中使用 runOnUiThread
runOnUiThread(new Runnable() {
@Override
public void run() {
//doSomething...
}
});
文章来源地址https://www.toymoban.com/news/detail-520434.html
文章来源:https://www.toymoban.com/news/detail-520434.html
到了这里,关于安卓在子线程中实现更新UI界面的三种方法 Handler+Message、runOnUiThread、控件.post()的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!