Android提供了一个圆形的单选按钮RadioButton,通过它,用户可以进行单选操作.二单选的集合则放在RadioGroup中,在这个集合中,用户只能选中一个RadioButton,而需要注意的是,监听事件要绑定在RadioGroup上,要不然,监听会有意想不到的结果.
radiobutton.xml [ 其中的@string/....内容大家可以自己填写]
<TextView
android:id="@+id/show"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/qt"/>
<RadioGroup
android:id="@+id/rg"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/show"
android:orientation="vertical">
<RadioButton
android:id="@+id/rb1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/bt1"/>
<RadioButton
android:id="@+id/rb2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/bt2"/>
<RadioButton
android:id="@+id/rb3"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/bt3"/>
<RadioButton
android:id="@+id/rb4"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/bt4"/>
</RadioGroup>
<TextView
android:id="@+id/answer"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/rg"/>
TestRadioGroup.java
public class TestRadioGroup extends Activity{
private RadioButton rb1,rb2,rb3,rb4;
private RadioGroup rg;
private TextView tv;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
this.setContentView(R.layout.radiobutton);
rb1=(RadioButton) this.findViewById(R.id.rb1);
rb2=(RadioButton) this.findViewById(R.id.rb2);
rb3=(RadioButton) this.findViewById(R.id.rb3);
rb4=(RadioButton) this.findViewById(R.id.rb4);
rg=(RadioGroup) this.findViewById(R.id.rg);
tv=(TextView) this.findViewById(R.id.answer);
rg.setOnCheckedChangeListener(new OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup group, int checkedId) {
// TODO Auto-generated method stub
if(checkedId==rb1.getId()){
tv.setText("恭喜你,答对了!");
}else{
tv.setText("正确答案是:A");
}
}
});
}
}
CheckBox的使用方法更RadioButton差不多,但是它没有组的概念,这里就不介绍了,大家举一反三.