显示进度条,然后在我恢复活动时隐藏它

时间:2012-04-10 11:11:19

标签: android android-activity progress-bar onresume

好的。我想在按下按钮时将进度条可见性设置为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!

1 个答案:

答案 0 :(得分:3)

这里的问题(如果我是对的)是进度条是您当前正在运行的活动的一部分,并且您希望在另一个活动(“org.packagename.etc.etc”)正在进行时显示它有些工作吗?

如果是这种情况,您应该在执行工作的活动中启动进度条。但这本身也无济于事。你必须在一个单独的线程中完成工作!您应该考虑使用AsyncTask进行数据加载。

本教程可能会对您有所帮助。 http://www.vogella.de/articles/AndroidPerformance/article.html

当你启动一个进度条时,它会在UI线程上运行,但是如果你也在UI线程上工作,它将不会显示进度条,直到完成其他工作。到那时,您很可能已经再次隐藏了进度条。