由于单选按钮直接继承了普通按钮,所以它可以使用普通按钮的所有属性,因此:xml属性就不介绍了,大家可以在eclipse当中操作一下。在组件使用上,一般推荐界面添加单选按钮组<RadioGroup>,之后可以向里面添加单个的<RadioButton>或是减少单选按钮。如下图:
单选按钮事件监听:1>由于单选按钮是包裹在<RadioGroup>中,我们可以对组件<RadioGroup>进行监听。
2><RadioGroup>里面的单选按钮作为独立的组件,都能够实现监听接口,实现监听。
代码举例:(<RadioGroup>和<RadioButton>各自实现监听)
/**通过RadioGroup 进行监听,接口内部onCheckedChanged中实现我们需要的功能*/ RadioGroup sex = (RadioGroup)findViewById(R.id.radioGroup1); sex.setOnCheckedChangeListener(new OnCheckedChangeListener() { @Overridepublic void onCheckedChanged(RadioGroup radioGroup1, int checkedid) { RadioButton r = (RadioButton)findViewById(checkedid); r.getText(); }});/**通过RadioButton 进行监听,查找所有的RadioButton 寻找选中的单选按钮*/ final RadioGroup sex = (RadioGroup)findViewById(R.id.radioGroup1); Button button = (Button)findViewById(R.id.button1); button.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { for(int i = 0;i < sex.getChildCount();i ++){ RadioButton r = (RadioButton)sex.getChildAt(i); if(r.isChecked()){ r.getText(); break; } } }});
二 复选框属性
复选框是Button子类,能够使用Button的属性。与单选按钮不同的是复选框能够进行多行设置,每个复选框能够单独的选中或取消选中状态。
由于单个复选框能够单独选中或是不选中,因此事件监听上要单独设置监听。
final CheckBox cb = (CheckBox)findViewById(R.id.checkBox1);cb.setOnCheckedChangeListener(new OnCheckedChangeListener() { @Overridepublic void onCheckedChanged(CompoundButton buttonView, boolean isCheched) { if(cb.isChecked()){ cb.getText(); } }});
总结:水平有限,请留言批评指正!
新闻热点
疑难解答