1.单选按钮使用RadioButton组件,通常与RadioGroup一起使用
RadioButton是Button的子类,所以RadioButton可以使用Button的支持的各种属性
RadioButton组件中的android:checked 属性用于指定选中状态,属性值为true,表示选中;属性值为false时,表示取消选中,默认为false。
<RadioGroup
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:id="@+id/radiogroup1">
<RadioButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="男"
android:textSize="20px"
android:id="@+id/radio1"
android:checked="true"/>
<RadioButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="女"
android:textSize="20px"
android:id="@+id/radio2"/>
</RadioGroup>
在虚拟机上运行:
[img]http://dl2.iteye.com/upload/attachment/0110/6601/51f39204-d711-347e-a793-53763bd25575.png[/img]
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<sex.getChildCount(); 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 <sex.getChildCount();) {
RadioButton r = (RadioButton) sex.getChildAt(i);
Log.i("单选按钮", "性别:"+r.getText());
break;
}
}
});
4.复选框使用的是checkbox组件
<CheckBox
android:text="体育"
android:id="@+id/like1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
<CheckBox
android:text="美术"
android:id="@+id/like2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
<CheckBox
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();
[img]http://dl2.iteye.com/upload/attachment/0110/6611/df6f1ff1-ad9f-3f91-9a36-1f88352caf71.jpg[/img]
RadioButton是Button的子类,所以RadioButton可以使用Button的支持的各种属性
RadioButton组件中的android:checked 属性用于指定选中状态,属性值为true,表示选中;属性值为false时,表示取消选中,默认为false。
<RadioGroup
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:id="@+id/radiogroup1">
<RadioButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="男"
android:textSize="20px"
android:id="@+id/radio1"
android:checked="true"/>
<RadioButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="女"
android:textSize="20px"
android:id="@+id/radio2"/>
</RadioGroup>
在虚拟机上运行:
[img]http://dl2.iteye.com/upload/attachment/0110/6601/51f39204-d711-347e-a793-53763bd25575.png[/img]
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<sex.getChildCount(); 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 <sex.getChildCount();) {
RadioButton r = (RadioButton) sex.getChildAt(i);
Log.i("单选按钮", "性别:"+r.getText());
break;
}
}
});
4.复选框使用的是checkbox组件
<CheckBox
android:text="体育"
android:id="@+id/like1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
<CheckBox
android:text="美术"
android:id="@+id/like2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
<CheckBox
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();
[img]http://dl2.iteye.com/upload/attachment/0110/6611/df6f1ff1-ad9f-3f91-9a36-1f88352caf71.jpg[/img]