1

私はConstraintLayoutをルートレイアウトとして持っています。
しかし、ここでは、RadioButtonを2列にしなければならないRadioGroupがあります。 ConstraintLayoutはネストされたレイアウトを取り除くことを約束しているので、私はそれらのRadioButtonをRadioGroupに配置して適切に配置すると良いと思いました。
ConstraintLayoutをルートレイアウトとして使用すると、ラジオグループを含むと何も変わらないように見えます。
しかし、多分私は間違っています。ConstraintLayout、RadioGroup、RadioButtonの2列

あなたはConstraintLayoutの内側にあるRadioGroup内で2列のRadioButtonを持つことをどのように達成できますか?

乾杯

答えて

2

View sが彼らの直接の親のレイアウト属性を使用する必要があります。例えば、直接親がRadioGroupであり、RadioGroupがこれらの属性を解釈する方法を知らないため、でRadioButtonを持つことはできません。

RadioGroupLinearLayoutを拡張するので、あなたは、単一のRadioGroupでできる最善のはRadioButton秒の1つの行または列です。あなたのレイアウトに2つの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

このグループ1は、どこから来ますか: 'RadioGroup otherGroup = group == group1? mGroup2:mGroup1; '? –

+0

@AndyStrifeそれはタイプミスでした。一定。 – Karakuri

関連する問題