2

好吧。例如,当我按下按钮时,我想将进度条的可见性设置为 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);
        }
    }); 

但它不起作用,因为当我单击按钮时它不显示栏它只是直接跳到活动(加载数据所以需要几秒钟)。所以它需要穿线还是什么?

咳咳!

4

1 回答 1

3

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

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

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

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

于 2012-04-10T11:36:52.990 回答