public void onCreate(Bundle savedInstanceState) {
.........
new Thread(new Runnable()
{
public void run()
{
......
handler.post(new Runnable()
{
public void run()
{
progressBar.setVisibility(8) }
});
//progressBar.setVisibility(8);
}
}
}
这是个进度条的demo,最后让进度条消失,为什么一定要用handler.post而不能直接progressBar.setVisibility(8);
如果用直接使用progressBar.setVisibility(8);而不用handler.post则在进度条到达100%处会
new Thread(new Runnable() //这里起了线程,对于UI界面更新来说,需要在UI线程中,也就是不能再Thread线程中直接更新UI界面
{
public void run()
{
......
handler.post(new Runnable() //handler.post中执行的操作是在UI线程中的,所以能进行UI更新
{
public void run()
{
progressBar.setVisibility(8) }
});
//progressBar.setVisibility(8);
}
}
}