我正在关注Qiitanium应用的代码(请参阅链接中突出显示的行),我无法弄清楚如何绑定RadioButtons
假设我有一个带有R.id.rgMyButtons的RadioGroup作为Id,它包含3个RadioButtons“Dead”,“Alive”,“Body Missing”和Ids是R.id.rbDead,R.id.rbAlive,R。 id.rbMissing
我将RadioGroup字段设置为
Rx<RadioGroup> radioGroup;
我将onViewCreated中的视图设置为
rdGroup = RxView.findById(this, R.id.rgMyButtons);
rdGroup.get().setOnCheckedChangeListener(mOnPersonStateUpdateListener);
在onBind中,我想将RadioGroup绑定到模型数据,以便将返回map的值直接返回到该组中正确的RadioButton。我正在寻找像
这样的东西rdGroup.bind(person.state(), RxActions.someAction()),
这样它就被RadioGroup绑定并自动设置正确的值。
person_state()实际上为Dead返回2,为Alive返回3,为Missing返回4,我想要检查RadioGroup中的正确字段。我怎样才能在RxAndroid中实现这一目标?
答案 0 :(得分:1)
我能够自己解决这个问题。对于任何可能遇到同样问题的人来说,这是答案....
我在课堂上写了一个函数
protected RxAction<RadioGroup, String> setRadioButton() {
return new RxAction<RadioGroup, String>() {
@Override
public void call(final RadioGroup radioGroup, final String selection) {
RadioButton rb;
switch(selection)
{
case "2":
rb = (RadioButton)findViewById(R.id.rbDead);
rb.setChecked(true);
break;
case "3":
rb = (RadioButton)findViewById(R.id.rbAlive);
rb.setChecked(true);
break;
case "4":
rb = (RadioButton)findViewById(R.id.rbMissing);
rb.setChecked(true);
break;
}
}
};
}
在onBind中我使用了
rdGroup.bind(person.state(), setRadioButton()),