RadioButton
一组RadioButton,只能同时选中一个
单个RadioButton在选中后,通过点击无法变为未选中
RadioButton依附于RadioGroup下
CheckBox
一组CheckBox,能同时选中多个
单个CheckBox在选中后,通过点击可以变为未选中
实例说明: (并添加监听事件)
activity1.xml文件布局
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="com.yongninggo.helloworld1.MainActivity" android:orientation="vertical" android:gravity="center_horizontal"> <CheckBox android:id="@+id/nan" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="男"/> <CheckBox android:id="@+id/nv" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="女"/> <RadioGroup android:id="@+id/radio1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="horizontal" android:layout_marginTop="100dip"> <RadioButton android:checked="true" android:id="@+id/nan1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="男"/> <RadioButton android:id="@+id/nv1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="女"/> </RadioGroup> </LinearLayout>
package com.yongninggo.helloworld1; import android.os.Bundle; import android.support.annotation.IdRes; import android.support.v7.app.AppCompatActivity; import android.util.Log; import android.widget.CheckBox; import android.widget.CompoundButton; import android.widget.RadioGroup; public class Activity1 extends AppCompatActivity implements RadioGroup.OnCheckedChangeListener { private CheckBox nan; private CheckBox nv; private RadioGroup radioGroup; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity1); nan = (CheckBox) findViewById(R.id.nan); nv = (CheckBox) findViewById(R.id.nv); radioGroup = (RadioGroup) findViewById(R.id.radio1); nan.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { if (isChecked){ String text = nan.getText().toString(); Log.i("myc",text); } } }); nv.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { if (isChecked){ String text = nv.getText().toString(); Log.i("myc",text); } } }); radioGroup.setOnCheckedChangeListener(this); } @Override public void onCheckedChanged(RadioGroup group, @IdRes int checkedId) { switch (checkedId){ case R.id.nan1 : Log.i("myc","选择男"); break; case R.id.nv1 : Log.i("myc","选择女"); break; default: break; } } }