问题描述
- 关于ProgressBar的简单问题
- 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); } }}
时间: 2024-10-27 01:48:37