基本组件之RadioGroup与CheckBox

阅读更多
1.单选按钮使用RadioButton组件,通常与RadioGroup一起使用
RadioButton是Button的子类,所以RadioButton可以使用Button的支持的各种属性
RadioButton组件中的android:checked 属性用于指定选中状态,属性值为true,表示选中;属性值为false时,表示取消选中,默认为false。

        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        android:id="@+id/radiogroup1">
                    android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="男"
            android:textSize="20px"
            android:id="@+id/radio1"
            android:checked="true"/>
                    android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="女"
            android:textSize="20px"
            android:id="@+id/radio2"/>
   


在虚拟机上运行:
基本组件之RadioGroup与CheckBox_第1张图片

2.获取单选按钮组中选中项的值
获取选中项的值有俩种方法:一种是改变按钮组的值时获取,另一种是单击其他按钮时获取
(1)改变按钮组的值时获取
首先获取单选按钮组,然后添加OnCheckedChangeListener,获取被选中的单选按钮,通过getText()方法获取单选按钮对应的值。

final RadioGroup sex = (RadioGroup)findViewById(R.id.radiogroup1); 
sex.setOnCheckedChangeListener(new OnCheckedChangeListener(){ 
    @Override 
    public void onCheckedChanged(RadioGroup group, int checkedId) { 
    RadioButton r = (RadioButton)findViewById(checkedId); 
    r.getText();
    }        
});
(2)单击其他按钮时获取
首先需要在该按钮单击事件监听器的onClick()方法中,通过for循环语句遍历当前单选按钮组,并根据被遍历到的单选按钮组的isChecked()方法判断该按钮是否被选中,当被选中时,通过单选按钮的getText()方法获取对应的值。

    final RadioGroup sex = (RadioGroup)findViewById(R.id.radoiGroup);  
    submitBtn.setOnClickListener(new OnClickListener(){ 
     
        @Override 
        public void onClick(View arg0) { 
            // TODO Auto-generated method stub 
            for(int i=0; i                RadioButton r = (RadioButton)sex.getChildAt(i); 
                if(r.isChecked()){ 
                    r.getText(); 
                    break; 
                } 
            } 
        } 
    }); 
3.给提交按钮设置按钮单击事件监听

Button button = (Button)findViewById(R.id.radiobutton1);
button.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View arg0) {
for (int i = 0; i RadioButton r = (RadioButton) sex.getChildAt(i);
Log.i("单选按钮", "性别:"+r.getText());
break;
}
}
});

4.复选框使用的是checkbox组件

        android:text="体育"
        android:id="@+id/like1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"/>
            android:text="美术"
        android:id="@+id/like2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"/>
            android:text="音乐"
        android:id="@+id/like3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"/>

5.创建并实例化一个OnCheckedChangeListener对象,获取3个复选框并为其设置就监听器

final CheckBox like1=(CheckBox)findViewById(R.id.like1);
        final CheckBox like2=(CheckBox)findViewById(R.id.like2);
        final CheckBox like3=(CheckBox)findViewById(R.id.like3);
        like1.setOnCheckedChangeListener(checkBox_listener);
        like2.setOnCheckedChangeListener(checkBox_listener);
        like3.setOnCheckedChangeListener(checkBox_listener);

6.为提交按钮添加监听器

Button button = (Button) findViewById(R.id.checkbutton1);
button.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {

String like="";
if(like1.isChecked())
like+=like1.getText().toString()+" ";
if(like2.isChecked())
like+=like2.getText().toString()+" ";
if(like3.isChecked())
like+=like3.getText().toString()+" ";
Toast.makeText(CheckActivity.this, like, Toast.LENGTH_SHORT).show();

基本组件之RadioGroup与CheckBox_第2张图片
  • 基本组件之RadioGroup与CheckBox_第3张图片
  • 大小: 48.5 KB
  • 基本组件之RadioGroup与CheckBox_第4张图片
  • 大小: 29.8 KB
  • 查看图片附件

你可能感兴趣的:(android,CheckBox,RadioGroup)