在Android应用中,我尝试在单击按钮时显示ProgressBar,执行某些过程,然后再次使该栏不可见。我的按钮onClick方法的一般概述如下所示:
ProgressBar bar = (ProgressBar)findViewById(R.id.prog_bar);
bar.setVisibility(View.VISIBLE);
......做一些事情......
bar.setVisibility(View.INVISIBLE);
但是,当我运行代码时,当中间的过程完成时,ProgressBar永远不会出现。有什么想法吗?
答案 0 :(得分:2)
在主线程上调用OnClick。在OnClick方法返回之前,对ProgressBar的更改不会产生任何可见效果。到那时,你已经完成了所有工作并再次隐藏了它。
将您的工作移至后台主题。这不仅可以使您的应用程序更具响应性,还可以显示程序栏。 (请注意,当您的工作完成后,您将不得不隐藏主线程中的进度条,而不是工作线程。通常您会向处理程序发送消息以实现此目的。)