进度条可见性

时间:2012-04-14 20:36:03

标签: android progress-bar

我有一个非常简单的场景:我必须在开始时让我的进度条不可见,但是在点击按钮时,必须使其可见以便我在后台运行的任务将完成,直到那时我的进度条才会运行。

我使用的方式非常简单。我已将进度条放在XML中,然后只是在活动的onCreate方法中,首先使mProgress.setVisibility(4)隐藏它,然后当我点击我的按钮时尝试使可见< / em>再次。

但遗憾的是它不起作用!有人请回答为什么不这样做。

mProgress = (ProgressBar) findViewById(R.id.progressBar);
mProgress.setVisibility(4);

btnSubmit.setOnClickListener(new OnClickListener() {
  public void onClick(View v) {
    strpatientid = txtpatientid.getText().toString();

    if (strpatientid.length() == 0) {
      Toast.makeText(getApplicationContext(),
                     "Enter the Patient ID",
                     Toast.LENGTH_LONG).show();
      return;
    }
    else {
      mProgress.setEnabled(false);
      mProgress.setVisibility(View.VISIBLE);
      setProgressBarVisibility(true);
    }
  }

1 个答案:

答案 0 :(得分:0)

尝试这样:

mProgress=(ProgressBar) findViewById(R.id.progressBar);

mProgress.setVisibility(View.INVISIBLE);

btnSubmit.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
    strpatientid = txtpatientid.getText().toString();
    if (TextUtils.isEmpty(strpatientid)) {
        Toast.makeText(getApplicationContext(),"Enter the Patient ID",
            Toast.LENGTH_LONG).show();
        mProgress.setVisibility(View.INVISIBLE);
        return;
    }

    else{
        //mProgress.setEnabled(false);   //you dont need this
        mProgress.setVisibility(View.VISIBLE);
        setProgressBarVisibility(true);
    }
}