0
レイアウトの目的で、私は各グループに複数の選択肢を持つ3つの放射線グループを持っています。どのように3つのグループ全体で1つの選択肢しか許されないようにコードすることができますか?許可された選択肢が1つだけの複数のラジオグループ?
つまり、今では、各グループで合計3つの選択を行うことができます。私はこれらをお互いに見て、一つの選択肢だけを許してほしい。ここで
レイアウトの目的で、私は各グループに複数の選択肢を持つ3つの放射線グループを持っています。どのように3つのグループ全体で1つの選択肢しか許されないようにコードすることができますか?許可された選択肢が1つだけの複数のラジオグループ?
つまり、今では、各グループで合計3つの選択を行うことができます。私はこれらをお互いに見て、一つの選択肢だけを許してほしい。ここで
は方法です:
private RadioButton lastCheckedRB = null;
//whatever code
//onClicklistener for radiogroup does not work
RadioGroup.OnCheckedChangeListener listener = new RadioGroup.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup group, int checkedId) {
RadioButton checked_rb = (RadioButton) group.findViewById(checkedId);
//OnCheckedChangeListener checks for reclick of a clicked rb, so the rest of the code is not executed
if (lastCheckedRB != null) {
lastCheckedRB.setChecked(false);
}
//store the clicked radiobutton
lastCheckedRB = checked_rb;
}
};
radioGroup1.setOnCheckedChangeListener(listener);
radioGroup2.setOnCheckedChangeListener(listener);