0

私は非常に単純なシナリオを持っています:開始時にプログレスバーを表示にする必要がありますが、ボタンをクリックすると、バックグラウンドで実行しているタスクが実行され、それまでプログレスバーが実行されるように表示する必要があります実行されます。

私は非常に単純な方法を使用しています。プログレス バーを XML に配置し、次に単純にonCreateアクティビティのメソッドに配置しました。最初に非mProgress.setVisibility(4)表示にしてから、ボタンをクリックしてこれを再度表示しようとしているときに非表示にします。

しかし、残念ながらそれは機能していません!なぜこれをしないのか、誰でも答えてください。

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);
    }
  }
4

1 に答える 1

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);
    }
}
于 2012-04-14T21:27:21.693 に答える