1

저는 ConstraintLayout을 루트 레이아웃으로 사용하고 있습니다.
그러나 이제는 RadioGroup을 사용하여 두 개의 RadioButton 열을 만들어야합니다. ConstraintLayout은 중첩 된 레이아웃을 없애기 때문에 RadioGroup에 해당 RadioButton을 배치하고 적절히 배치하는 것이 좋을 것이라고 생각했습니다.
ConstraintLayout을 루트 레이아웃으로 갖는 것으로 밝혀졌습니다. RadioGroup을 포함하고 있어도 아무 것도 변경되지 않습니다.
하지만 어쩌면 틀 렸습니다.ConstraintLayout, RadioGroup 및 RadioButton의 두 열

어떻게 ConstraintLayout 안에있는 RadioGroup 내에서 두 행의 RadioButton을 갖게 되었습니까?

건배

답변

2

View의는 직접 부모의 레이아웃 속성을 사용해야합니다. 예를 들어 직접 부모가 RadioGroup이고 RadioGroup 인 경우 RadioButtonlayout_constraint과 함께 사용할 수 없습니다. 이러한 특성을 해석하는 방법을 알지 못합니다.

RadioGroupLinearLayout를 확장, 그래서 당신은 하나의 RadioGroup와 함께 할 수있는 최선은 RadioButton s의 단일 행 또는 열입니다. 레이아웃에 두 개의 RadioGroup을 가질 수 있으며 Java 코드에서 변경 사항을 수신 대기합니다.

private RadioGroup mGroup1; // init in onCreate 
private RadioGroup mGroup2; // init in onCreate 

private OnCheckedChangedListener mCheckListener = new OnCheckedChangedListener() { 

    @Override 
    public void onCheckedChanged(RadioGroup group, int checkedId) { 
     // To make it appear as if the two groups are one large group, 
     // checking something in either should clear the check in the other. 
     RadioGroup otherGroup = group == mGroup1 ? mGroup2 : mGroup1; 
     otherGroup.clearCheck(); 

     // do something with checkedId 
    } 
} 
+0

여기서 group1은 어디에서 왔습니까? 'RadioGroup otherGroup = group == group1? mGroup2 : mGroup1; –

+0

@AndyStrife 오타되었습니다. 결정된. – Karakuri