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);
}
}
}