radiogroup,RadioGroup的使用
android radiogroup怎么用
RadioButton和RadioGroup的关系:1、RadioButton表示单个圆形单选框,而RadioGroup是可以容纳多个RadioButton的容器2、每个RadioGroup中的RadioButton同时只能有一个被选中3、不同的RadioGroup中的RadioButton互不相干,即如果组A中有一个选中了,组B中依然可以有一个被选中4、大部分场合下,一个RadioGroup中至少有2个RadioButton5、大部分场合下,一个RadioGroup中的RadioButton默认会有一个被选中,并建议您将它放在RadioGroup中的起始位置。
1. ((RadioButton)radioGroup.getChildAt(0)).setChecked(true);我写的0,你可以根据自己的情况来写。2. 布局里面使用android:checkedButton="@+id/radio0"
android的radiogroup为什么选择两个
项目中遇到多个RadioGroup中单选RadioButton ,设置了默认选中第一个 . 然后就 能选中两个RadioButton . . ..
我开始这样给设置默认选中一个的:
for (int j = 0; j newList.get(position).getList().size(); j++) {
RadioButton radioButton = new RadioButton(context);
radioButton.setTextSize(9);
radioButton.setText(newList.get(position).getList().get(j)
.get("dishname").toString());
radioButton.setTag(newList.get(position).getList().get(j)
.get("dishid").toString());
radioGroup.addView(radioButton, j);
if (j==0) {
radioButton.setCheck(true);
}
}
就是中给radioButton设置为选中.. .
网上查找了下类似的情况 如 这篇文章 ,都没有解决我的问题.
最后研究了下 android 官方Api 和部分 RadioGroup的源代码 后发现. 其实很简单
我们不需要设置RadioButton的默认选中, 这样会使RadioButton一直处于选中状态.
我们应该给RadioGroup 设置选中的RadioButton ,也就是说
把 if (j==0) {
radioButton.setCheck(true);
}
更改为
if (j==0) {
radioGroup.check(radioButton.getId());
}
轻松搞定.. 哎呦了个去,官方Api和源码是个好东西啊.
如何通过RadioGroup判断里面的RadioButton是否被选择
radiogroup本身有监听的方法可以直接设置监听,这个监听需要一个回调接口OnCheckedChangeListener,这个接口里面的回调方法给我们返回了两个参数其中int型的参数就是当前你选中的RadioButton的ID
radioGroup.setOnCheckedChangeListener(new OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup group, int checkedId) {
//checkId就是当前选中的RadioButton
}
});