2014-04-01 1 views
0

나는 체크 CheckBoxes에 따라 ProgressBar의 가시성을 변경하려면,하지만 난 다음 코드를 구현할 때 ProgressBar 영원히변경 가시성 - 안드로이드

ProgressBar progressBar1 = (ProgressBar) findViewById(R.id.progressBar1); 
    ProgressBar progressBar2 = (ProgressBar) findViewById(R.id.progressBar2); 
    CheckBox checkBox1 = (CheckBox) findViewById(R.id.checkBox1); 
    CheckBox checkBox2 = (CheckBox) findViewById(R.id.checkBox2); 

    progressBar1.setVisibility(View.GONE); 
     progressBar2.setVisibility(View.GONE); 

    if (checkBox1.isChecked() && checkBox2.isChecked()) { 
     progressBar2.setVisibility(View.VISIBLE); 
    } else if (checkBox1.isChecked()) { 
     progressBar1.setVisibility(View.VISIBLE); 
    } 

답변

1
you have to set the visibility code in the setOnClick listener of the checkbox 

    checkBox1.setOnClickListener(new OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       // TODO Auto-generated method stub 
       if(checkBox1.isChecked()) 
       { 
        progressBar1.setVisibility(View.VISIBLE); 
      } 
       else 
      { 
      progressBar1.setVisibility(View.INVISIBLE); 
      } 
       } 

     }); 

     checkBox2.setOnClickListener(new OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       if(checkBox1.isChecked() && checkBox2.isChecked()) { 
          progressBar2.setVisibility(View.VISIBLE); 
         } else { 
          progressBar2.setVisibility(View.INVISIBLE); 
         } 
       } 

     }); 
+0

가 답변을 수정하시기 바랍니다 보이지 않는 간다 , 그것은 내 코드에 적합하지 않습니다. –

+0

수정 사항 확인 ... – jyomin