【发布时间】:2017-05-16 15:45:33
【问题描述】:
我上周刚开始学习,我对书上的RadioGroup 有一些疑问。
radioGroup.clearCheck();
radioGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup group, int checkedId) {
RadioButton rb = (RadioButton) group.findViewById(checkedId);
switch (rb.getId()) {
case R.id.radioButtonLondon:
tClock.setTimeZone("Europe/London");
break;
case R.id.radioButtonBeijing:
tClock.setTimeZone("CST6CDT");
break;
case R.id.radioButtonNewYork:
tClock.setTimeZone("America/New_York");
break;
}
// End switch block
//}
}
});
- 在我的书上写着
RadioButton rb = (RadioButton) group.findViewById(checkedId);is used to
"获取checkId所引用的实际对象的引用, 然后我们可以检索我们当前使用的熟悉的 ID 选中的单选按钮,我们现在有一个参考存储在 rb。”
我对这个解释很困惑
- 这行
RadioButton rb = (RadioButton) group.findViewById(checkedId);有必要吗?我试图隐藏这一行并将switch (rb.getId())更改为switch(checkedId),一切仍然正常。
谢谢!
【问题讨论】:
-
你不需要这一行..RadioButton rb = (RadioButton) group.findViewById(checkedId);
标签: java android radio-button android-radiogroup