2017-01-20 4 views
5

을 검사 할 수 없습니다. 라디오 버튼을 프로그래밍 방식으로 선택 해제 한 후 다음 라디오 버튼을 클릭해도 체크 할 수 없습니다. 다른 라디오 버튼을 확인하지 않으면 라디오 버튼

는 라디오 버튼을 선택하거나 선택 취소합니다 코드입니다 :

 if(q.trim() != null || q.trim() != ""){ 
      questionView.setText(q); 
      r1.setChecked(false); 
      r2.setChecked(false); 
      r3.setChecked(false); 

      r1.clearFocus(); 
      r2.clearFocus(); 
      r3.clearFocus(); 

      r1.setText(varNames.get("ra0")); 
      r2.setText(varNames.get("ra1")); 
      r3.setText(varNames.get("ra2")); 
     } 

그리고 나는 그것을 확인하려고 곳이다 :

public void questionClicked(View view) { 

    boolean checked = ((RadioButton) view).isChecked(); 

    switch(view.getId()) { 
     case R.id.firstQuestion: 
      if(!checked) { 
       r1.setChecked(true); 
      } 
      getAnswer(R.id.firstQuestion); 

      break; 
     case R.id.secondQuestion: 
      if(!checked) { 
       r2.setChecked(true); 
      } 
      getAnswer(R.id.secondQuestion); 

      break; 
     case R.id.thirdQuestion: 
      if(!checked) { 
       r3.setChecked(true); 
      } 
      getAnswer(R.id.thirdQuestion); 

      break; 
    } 
} 
+0

나는이 라디오 버튼 중 하나에 .setChecked를 사용할 필요가 없다고 생각한다. 왜냐하면 클릭 할 때 bydefault가 선택/선택 해제되기 때문이다. 당신이 그린 라인을 제거하려고 시도하십시오 .set 라디오 버튼을 확인하십시오. –

+0

예, 시도했지만 작동하지 않았습니다. – Besart

답변

0

난 당신이 확인 정화 방법 라디오 버튼을한다고 생각합니다. 그리고 "다음"버튼을 클릭 할 때마다 호출하십시오. 다음은 예입니다.

private void clearcheck(){   
     if(q.trim() != null || q.trim() != ""){ 
      questionView.setText(q); 
      r1.setChecked(false); 
      r2.setChecked(false); 
      r3.setChecked(false); 

      r1.clearFocus(); 
      r2.clearFocus(); 
      r3.clearFocus(); 

      r1.setText(varNames.get("ra0")); 
      r2.setText(varNames.get("ra1")); 
      r3.setText(varNames.get("ra2")); 
     } 
} 

clearcheck(); 다음 버튼을 onclick하십시오.