2014-02-13 5 views
0

내 프로젝트에서 라디오 그룹 아래에 두 개의 라디오 버튼이 있습니다. 기본적으로 첫 번째 라디오 버튼이 선택됩니다. 첫 번째 라디오 버튼이 선택 상태 인 경우 두 번째 라디오 버튼이 선택되어 있으면 네 개의 체크 박스가 표시됩니다 모든 네 개의 체크 박스가 보이지 않는 상태가 될 것입니다. 나는 이것을 구현하는 방법을 모릅니다. 누구든지 나를 제안 할 수 있습니까?Android에서 라디오 버튼 선택

감사합니다.

+0

라디오 그룹의 가시성을 VIEW.GONE으로 설정하십시오 –

답변

2

너무 간단합니다. 앞에서 언급 한 첫 번째 라디오 버튼이 처음 선택되었을 때 그 당시에는 표시되는 체크 박스의 가시성을 설정해야했습니다. 마찬가지로

ch1.setVisibility(View.VISIBLE); // same for other checkboxes 

그리고 당신은 사라 그 확인란 동안 그 시간 설정 가시성에서 두 번째 라디오 버튼을 선택하면. 마찬가지로

ch1.setVisibility(View.GONE); // same for other checkboxes 

는 UPDATE :

radioGroup.setOnCheckedChangeListener(new OnCheckedChangeListener() { 

    @Override 
    public void onCheckedChanged(RadioGroup group, int checkedId) { 
     // TODO Auto-generated method stub 
     if(checkedId == R.id.urfirstR1) 
      { 
       ch1.setVisibility(View.VISIBLE); 

     else if(checkedId == R.id.ursecondr2) 
      { 
       ch1.setVisibility(View.GONE); 
      } 
    } 
}); 
+0

네가 맞습니다. 라디오 버튼이 바뀌면 어떻게 되나요? Oncreate()에이 조건을 넣을 곳은 어디입니까? – Barbie

+0

예 RadioGroup의 oncreate() oncheckedChangeListener입니다. 업데이트 된 답변을 확인하십시오. – Piyush

+0

업데이트 된 답변을 확인하십시오. – Piyush

0

시도해보십시오.

radioGroup.setOnCheckedChangeListener(new OnCheckedChangeListener() { 

@Override 
    public void onCheckedChanged(RadioGroup group, int checkedId) { 

     if(checkedId == R.id.firstradiobutton) 
       { 
       // visible all checkbox here 
       } 

     else if(checkedId == R.id.secondradiobutton) 
       { 
        // invisible all checkbox here 
       } 
     } 
    }); 
0

아래 해결책을 시도하십시오.

기본적으로 아무 것도 할 필요가 없습니다. onCheckchangelistener는 아래 코드를 사용합니다.

radiobutton2.setOnCheckedChangeListener(new OnCheckedChangeListener() { 

     @Override 
     public void onCheckedChanged(RadioGroup group, int checkedId) { 
      ch1.setVisibility(View.INVISIBLE); 
      ch2.setVisibility(View.INVISIBLE); 
      ch3.setVisibility(View.INVISIBLE); 
     ch4.setVisibility(View.INVISIBLE); 
     } 
    }); 

이것을 onCreate 메소드 안에 넣습니다. 체크 박스의 ID 이름과 라디오 버튼을 ID 이름대로 바꿉니다.