2012-05-11 4 views
0

모양과 간격을 위해 라디오 버튼을 토글 버튼으로 사용해야하지만 내 인생에서 바보 같은 일로 상태를 바꿀 수는 없습니다. 지금 아무도 내가 체크 한 상태에서 단일 라디오 버튼을 어떻게 전환 할 수 있습니까? 라디오 그룹이나 일부 if/else 구문 조합을 사용하여 트릭하는 방법이 있는지 모르겠다. (시도해 보았지만 체크하지 않았다고 생각하는 것처럼 보였지만). 또는 토글 버튼을 라디오 버튼처럼 보이게 할 수 있습니까?어떻게 라디오 버튼을 토글 버튼 (안드로이드)으로 사용할 수 있습니까?

+0

을,이 답변을 확인 47023965/3758439 xml을 사용하여 체크 박스 사각형 버튼을 원형으로 변경할 수도 있습니다. SO와 같은 솔루션이 있습니다. – George

답변

2

에는 상태를 변경할 수있는 몇 가지 방법이 있습니다.

toggle()

setChecked(boolean b)

이 같은 "토글 버튼"을 참조 위젯의 이름

은 시스템에 의해 CompoundButton이라고합니다. RadioButton은 실제로 CompoundButton을 확장합니다. 따라서 모든 동일한 방법에 액세스 할 수 있습니다.

+2

그러나 개발자 페이지에 따르면 라디오 버튼과 함께 toggle()을 사용하면 해당 내용 만 검사되며 이미 선택되어 있으면 선택을 취소하지 않습니다. 나는 아직 시도하지 않았고 내가하기 전에 또 다른 아이디어를 기대하고 있었다. – rphello101

+0

좋아요,하지만 getChecked()와 setChecked (boolean b)를 모두 제공합니다. Android RadioButton IS Toggle Button과 관련하여 ... 상태에 상관없이 토글 할 수있는 조합을 사용할 수 있습니다. 전환 버튼이 할 수있는 모든 작업을 수행합니다. – FoamyGuy

+0

나는 가능한 모든 조합을 생각해 볼 수 있었고 상태를 바꿀 수는 없었다. 그것은 체크 상태를 유지하거나 체크 표시를하지 않겠지 만 다시 체크하지는 않습니다. – rphello101

0

그냥이 트릭 않습니다 toggle()

라는 방법을 자신의 android.support.v7.widget.AppCompatRadioButton 클래스를 생성하고 오버라이드 (override) : https://stackoverflow.com/a/ : 간단한 방법을

@Override 
public void toggle(){ 
    setChecked(!isChecked()); 
} 
관련 문제