
RadioButton在做表单的时候经常用到,在安卓开发中,RadioButton需要和RadioGroup一起使用,表示在一组可选项中,只有一个可以被选中,RadioGroup状态改变的一个监视器OnCheckedChangeListener,RadioGroup使用的时候调用setOnCheckedChangeListener(),然后重写OnCheckedChangeListener中的onCheckedChanged()方法,比如:
radioGroupsetOnCheckedChangeListener(new OnCheckedChangeListener(){
@Override
public void onCheckedChanged(RadioGroup group, int checkedId) {
// 获取变更后的选项的ID
int radioButtonId = groupgetCheckedRadioButtonId();
switch (radioButtonId) {
case Ridmessage_radiobtn:
mFragment = new MessageFragment();
break;
case Ridcontact_radiobtn:
mFragment = new ContactFragment();
break;
case Riddynamic_radiobtn:
mFragment = new DynamicFragment();
break;
default:
break;
}
getActivity()getSupportFragmentManager()beginTransaction()
replace(Ridrealtabcontent, mFragment)commit();
}
});
实现RadioButton由两部分组成,也就是RadioButton和RadioGroup配合使用RadioGroup是单选组合框,可以容纳多个RadioButton的容器在没有RadioGroup的情况下,RadioButton可以全部都选中;当多个RadioButton被RadioGroup包含的情况下,RadioButton只可以选择一个。并用setOnCheckedChangeListener来对单选按钮进行监听
01 RadioGroup相关属性:
02
03 RadioGroupgetCheckedRadioButtonId ();--获取选中按钮的id
04
05 RadioGroupclearCheck ();//---清除选中状态
06
07 RadioGroupcheck (int id);//---通过参入选项id来设置该选项为选中状态如果传递-1作为指定的选择标识符来清除单选按钮组的勾选状态,相当于调用clearCheck() *** 作
08
09 setOnCheckedChangeListener (RadioGroupOnCheckedChangeListener listener); //--一个当该单选按钮组中的单选按钮勾选状态发生改变时所要调用的回调函数
10
11 addView (View child, int index, ViewGroupLayoutParams params);//---使用指定的布局参数添加一个子视图
12
13 //参数 child 所要添加的子视图 index 将要添加子视图的位置 params 所要添加的子视图的布局参数
14
15 RadioButtongetText();//获取单选框的值
16
17 //此外,RadioButton的checked属性设置为true,代码里调用RadioButton的check(id)方法,不会触发onCheckedChanged事件
RadioButton和RadioGroup的关系:
1、RadioButton表示单个圆形单选框,而RadioGroup是可以容纳多个RadioButton的容器
2、每个RadioGroup中的RadioButton同时只能有一个被选中
3、不同的RadioGroup中的RadioButton互不相干,即如果组A中有一个选中了,组B中依然可以有一个被选中
4、大部分场合下,一个RadioGroup中至少有2个RadioButton
5、大部分场合下,一个RadioGroup中的RadioButton默认会有一个被选中,并建议您将它放在RadioGroup中的起始位置
看案例:
1定义布局文件:
01 <xml version="10" encoding="utf-8">
02 <ScrollView xmlns:android=">
RadioButton和RadioGroup的关系:1、RadioButton表示单个圆形单选框,而RadioGroup是可以容纳多个RadioButton的容器2、每个RadioGroup中的RadioButton同时只能有一个被选中3、不同的RadioGroup中的RadioButton互不相干,即如果组A中有一个选中了,组B中依然可以有一个被选中4、大部分场合下,一个RadioGroup中至少有2个RadioButton5、大部分场合下,一个RadioGroup中的RadioButton默认会有一个被选中,并建议您将它放在RadioGroup中的起始位置。
1 ((RadioButton)radioGroupgetChildAt(0))setChecked(true);我写的0,你可以根据自己的情况来写。2 布局里面使用android:checkedButton="@+id/radio0"
"建议您使用以下方法获取: private void barEditItem1_EditValueChanged(object sender, EventArgs e) { string editvalue=(barManager1ActiveEditor as RadioGroup)EditValueToString(); }"祝你愉快,哦
//new 一个RadioGroup组件
var radiogroup= new ExtformRadioGroup
(
{ fieldLabel : "性别",
items : [
{ boxLabel : '男', inputValue : '1', checked : true, name : "radSex" },
{ boxLabel : '女, name : "radSex", inputValue : '2' }
]
}
);
然后还需要重写radiogroup的两个方法,在按照我上面这样做就可以了//RadioGroup重写的getValue和setValue
Extoverride(ExtformRadioGroup, { getValue: function(){ var v; if (thisrendered) { thisitemseach(function(item){ if (!itemgetValue()) return true; v = itemgetRawValue(); return false; }); } else { for (var k in thisitems) { if (thisitems[k]checked) { v = thisitems[k]inputValue; break; } } } return v; }, setValue: function(v){ if (thisrendered) thisitemseach(function(item){ itemsetValue(itemgetRawValue() == v); }); else { for (var k in thisitems) { thisitems[k]checked = thisitems[k]inputValue == v; } } } });
//获取的是inputValue的值
radiogroupgetValue();
//设置值选中
radiogroupsetValue(“1”);
以上就是关于请教一个Android方面在Menu菜单里定义的RadioGroup中返回某个RadioButton的选中状态的问题全部的内容,包括:请教一个Android方面在Menu菜单里定义的RadioGroup中返回某个RadioButton的选中状态的问题、android里RadioGroup的clearCheck()使用方法、android radiogroup怎么用等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)