在调用方法View.GONE
之前,我有一个进度条,我从View.VISIBLE
更改为writeFile()
。
这样的事情:
onButtonPress(){
mProgressBar.setVisibility(View.VISIBLE);
writeFile();
}
方法writeFile()
可能需要几秒钟(大量数据解析),但之后需要用户采取其他操作,因此不会在后台线程上执行。这是为了避免用户在应用程序中的其他位置导航,然后为他们认为已完成的操作提供弹出窗口或重定向。
我的问题是,在writeFile()
方法完成之前,进度条不显示,然后在用户重定向到其他地方之前短暂弹出一瞬间。
如果我注释掉方法调用,那么ProgressBar会立即显示并无限旋转,所以我知道条形图正常工作。
如何确保进度条弹出 FIRST ,然后调用writeFile()
方法?
提前致谢。
此外:
我没有很多经验(完全没有!)与asynctasks,所以我不确定这是否是我需要采取的路线。我正在寻找的行为是当用户按下按钮时弹出的进度条,并保留在屏幕上直到方法完成。我不希望用户在此期间浏览应用程序。
答案 0 :(得分:0)
您可以尝试以下代码来检查progressBar是否可见
new Thread(new Runnable() {
public void run() {
writeFile();
}
}).start();