天天看点

单选(RadioButton)复选(CheckBox)学习笔记

       单选按钮(RadioButton)与复选按钮(CheckBox)的不同之处在于,一组RadioButton只能选中其中一个,因此RadioButton通常需要与RadioGroup一起使用,用于定义一组单选按钮。

xml文件:

<?xml version="1.0" encoding="utf-8"?>
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
	android:orientation="vertical"
	android:layout_width="fill_parent"
	android:layout_height="fill_parent">

<!-- 定义第一行表格 -->
<TableRow>
<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="性别:"
    android:textSize="16px"
    />  
    
<!-- 定义一个单选按组 -->
<RadioGroup  android:id="@+id/rg"
    android:orientation="horizontal"
    android:layout_gravity="center_horizontal">
    
<!-- 第一个单选按钮 -->
<RadioButton
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/male"
    android:text="男"
    android:checked="true"
    />

<!-- 第二个单选按钮 -->
<RadioButton
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/female"
    android:text="女"
    />
</RadioGroup>>  
</TableRow>

<!-- 定义第二行表格 -->
<TableRow>
<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="喜欢的颜色"
    android:textSize="16px"
    />

<!-- 定义一个线性布局 -->
<LinearLayout
    android:layout_gravity="center_horizontal"
    android:orientation="vertical"
    android:layout_width="wrap_content"   
    >

<!-- 定义第一个复选按钮  -->    
<CheckBox android:layout_width="wrap_content" 
    android:layout_height="wrap_content"
    android:text="红色"
    android:checked="true"   
    />

<!-- 定义第二个复选按钮  --> 
<CheckBox android:layout_width="wrap_content" 
    android:layout_height="wrap_content"
    android:text="蓝色"
    />

<!-- 定义第三个复选按钮  --> 
<CheckBox android:layout_width="wrap_content" 
    android:layout_height="wrap_content"
    android:text="绿色"
    />
</LinearLayout>
</TableRow>


<TextView
    android:id="@+id/show"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"/>

</TableLayout>

           

java文件:

import android.app.Activity;
import android.widget.TextView;
import android.widget.RadioGroup;
import android.widget.RadioGroup.OnCheckedChangeListener;
import android.os.Bundle;
public class MainActivity extends Activity {
	RadioGroup rg;
	TextView show;
	@Override
	public void onCreate(Bundle savedInstanceState)
	{
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		// 获取界面上rg、show两个组件
		rg = (RadioGroup) findViewById(R.id.rg);
		show = (TextView) findViewById(R.id.show);
		// 为RadioGroup组件的OnCheck事件绑定事件监听器
		rg.setOnCheckedChangeListener(new OnCheckedChangeListener()
		{
			@Override
			public void onCheckedChanged(RadioGroup group, int checkedId)
			{
				// 根据用户勾选的单选按钮来动态改变tip字符串的值
				String tip = checkedId == R.id.male ?
						"您的性别是男人": "您的性别是女人";
				// 修改show组件中的文本。
				show.setText(tip);
			}
		});
		
	}
}
           

显示效果:

单选(RadioButton)复选(CheckBox)学习笔记