好的。我想在按下按钮时将进度条可见性设置为VISIBLE ...然后我想在恢复相同活动时将可见性设置为GONE。
在加载其他数据的同时(如果可能)。
以下是我的尝试:
public void onPause(){
super.onPause();
final ProgressBar progressBar = (ProgressBar) findViewById(R.id.progressBar);
progressBar.setVisibility(View.GONE);
}
和
Button aButton = (Button) findViewById(R.id.abutton);
aButton.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
final ProgressBar progressBar = (ProgressBar) findViewById(R.id.progressBar);
progressBar.setVisibility(View.VISIBLE);
Intent i = new Intent("org.packagename.etc.etc");
startActivity(i);
}
});
但它不起作用,因为当我点击按钮时它没有显示条形它只是直接跳到活动(加载数据所以需要几秒钟)。那么它需要是线程还是什么?
halp meh!
答案 0 :(得分:3)
这里的问题(如果我是对的)是进度条是您当前正在运行的活动的一部分,并且您希望在另一个活动(“org.packagename.etc.etc”)正在进行时显示它有些工作吗?
如果是这种情况,您应该在执行工作的活动中启动进度条。但这本身也无济于事。你必须在一个单独的线程中完成工作!您应该考虑使用AsyncTask进行数据加载。
本教程可能会对您有所帮助。 http://www.vogella.de/articles/AndroidPerformance/article.html
当你启动一个进度条时,它会在UI线程上运行,但是如果你也在UI线程上工作,它将不会显示进度条,直到完成其他工作。到那时,您很可能已经再次隐藏了进度条。