2012-10-10 6 views
1

나는 6 개의 체크 박스를 가지고 있는데, 오직 하나만 클릭 할 수있다. 첫 번째 체크가 끝난 후, 두 번째 체크가 가능하다. 두 번째 체크가 끝나면 체크 박스를 체크한다. 사용자가 선택을 취소하지 않도록 비활성화해야합니다.체크 박스 안드로이드 시퀀스 로직

배열을 사용해야한다고 생각하십니까?

if(checkbox1.isChecked()){ 
      checkbox1.setEnabled(false); 
     }else if(checkbox2.isChecked()){ 
      checkbox2.setEnabled(false); 
     } 

이 작동하지 않습니다 ..

+0

시도. –

답변

0

당신은 체크 박스 청취자를 설정하고 이전 하나를 클릭 할 때마다 다음 중 하나를 사용할 수 있습니다 .. 논리가 얼마나 알아낼 수 없습니다.

예 : 사용자가 체크 박스가 여기에 값을 할당 확인 플래그 변수

CheckBox cb1 = (CheckBox) findViewById(R.id.checkbox1); 
cb1.setOnCheckedChangeListener(new OnCheckedChangeListener(){ 

    @Override 
    public void onCheckedChanged(CompoundButton buttonView, 
      boolean isChecked) { 
     if (isChecked){ 
      cb1.setEnabled(false); 
      cb2.setEnabled(true); 
     } 
    }   
}); 
+0

그 모든 cb를 설정해야합니까? 내가 onCheckedChangeListener를 구현했다면 왜 작동하지 않는가? –

+0

예, 각 확인란마다 수신기를 설정합니다. 각 하나 (마지막 하나 제외)는 사용 안함으로 설정되고 다음 설정은 사용 가능으로 설정됩니다. 마지막 하나는 장애인으로 설정 될 것입니다. 다음 장애가 없기 때문입니다. 위 코드를 사용하면 구현해야하는지 여부는 문제가되지 않습니다. 이미 박스에 checkedChangeListeners를 설정하고 있다면 위의 코드를 기존 리스너에 추가하면됩니다. – matt5784

관련 문제