调用setVisibility时,ProgressBar不会显示(View.Visible)

时间:2013-06-26 06:06:03

标签: android progress-bar visible

在Android应用中,我尝试在单击按钮时显示ProgressBar,执行某些过程,然后再次使该栏不可见。我的按钮onClick方法的一般概述如下所示:

ProgressBar bar = (ProgressBar)findViewById(R.id.prog_bar);
bar.setVisibility(View.VISIBLE);

......做一些事情......

bar.setVisibility(View.INVISIBLE);

但是,当我运行代码时,当中间的过程完成时,ProgressBar永远不会出现。有什么想法吗?

1 个答案:

答案 0 :(得分:2)

在主线程上调用OnClick。在OnClick方法返回之前,对ProgressBar的更改不会产生任何可见效果。到那时,你已经完成了所有工作并再次隐藏了它。

将您的工作移至后台主题。这不仅可以使您的应用程序更具响应性,还可以显示程序栏。 (请注意,当您的工作完成后,您将不得不隐藏主线程中的进度条,而不是工作线程。通常您会向处理程序发送消息以实现此目的。)