【Android开发】基本组件-复选框

复选框:
默认情况下,单选框按钮显示为一个方块图标,并且在该图标旁边放置一些说明性文字。与单选按钮不同的是,复选框可以进行多选设置,每一个复选框都提供"选中"和"不选中"两种状态。
在Android中,复选框使用CheckBox表示,CheckBox又是Button的子类,所以单选按钮可以直接使用Button支持的各种属性。

Android中,可以使用两种方法向屏幕中添加单选按钮,一种是通过在XML布局文件中使用<CheckBox>标记添加;另一种是在Java文件中,通过new关键字创建。

推荐使用XML配置,基本语法如下:
<CheckBox
    android:text="显示文本"
    android:id="@+id/ID号"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content">
</CheckBox>

实例:
界面:
res/layout/main.xml:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
	android:layout_width="wrap_content"
	android:layout_height="wrap_content"
	android:orientation="horizontal"
	android:background="#FFFFFF">
	<TextView android:layout_width="wrap_content"
	    android:layout_height="wrap_content"
	    android:text="爱好:"
	    android:width="100px"
	    android:height="50px"
	    android:gravity="right"/>
	<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"/>
	<Button android:text="提交"
	    android:id="@+id/button1"
	    android:layout_width="wrap_content"
	    android:layout_height="wrap_content"/>
</LinearLayout>

界面如图:

在主活动中创建并实例化一个OnCheckedChangeListener对象,在实例化该对象时,重写onCheckedChanged()方法,当复选框被选中时,输出一条日志信息,显示被选中的复选框,具体代码如下:

private OnCheckedChangeListener checkBox_listener;
checkBox_listener=new OnCheckedChangeListener() {

	@Override
	public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
		if(isChecked){
			Log.i("复选框", "选中了["+buttonView.getText().toString()+"]");
		}

	}
};

接下来点击提交按钮后,我们要获取复选框,并显示被选中的数据,完整代码如下:

package com.example.test;

import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.CompoundButton.OnCheckedChangeListener;
import android.widget.Toast;

public class MainActivity extends Activity {
	private OnCheckedChangeListener checkBox_listener;
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);
		checkBox_listener=new OnCheckedChangeListener() {

	     @Override
             public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
			if(isChecked){
		              Log.i("复选框", "选中了["+buttonView.getText().toString()+"]");
			}

		}
	};

		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);

		//为"提交"按钮添加单击事件监听器
		Button button=(Button)findViewById(R.id.button1);
		button.setOnClickListener(new OnClickListener() {

			@Override
			public void onClick(View arg0) {
				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(MainActivity.this, like, Toast.LENGTH_SHORT).show();
			}
		});
	}
}

效果如图

转载请注明出处:http://blog.csdn.net/acmman/article/details/44776629

时间: 2024-10-29 05:22:42

【Android开发】基本组件-复选框的相关文章

listview-在Android中如何自定义复选框?

问题描述 在Android中如何自定义复选框? 我想显示像 Radio button 这样的复选框,是否能自己定义复选框的形状和大小呢? 大家做过类似的功能吗? 解决方案 使用这个代码: <CheckBox android:layout_width="wrap_content" android:layout_height="wrap_content" android:button="@android:drawable/btn_radio"/

Android开发之编写第一个Android应用程序实现按钮和复选框

搞Android系统这么久了,说实话,我连apk怎么写还真是不会,说实话能够看懂,简单改改就不错了,说来惭愧,我是嵌入式出身.最近开始学习Android应用开发,和我的底层结合起来,为了工作,咬着牙也要学下去!!! 首先,我使用的是Android Studio这个软件. 上谷歌中国网就可以下载到了,地址如下: https://developer.android.google.cn/develop/index.html     编译环境配置,找百度看看就行了,这里不哆嗦.     安装好后,有一些

Android开发之路——单选框,复选框,弹出框等控件操作

由于这几个控件都是比较常用的控件,所以在进行操作的时候会比较常用,所以这个部分算是Android软件开发的重要部分,内容比较简单.分类型进行介绍 1.单选框操作:单选框在Android里面随处可见,它是由两部分组成的,一部分是RadioGroup,一部分是RadioButton.一个RadioGroup里面是有多个RadioButton.每个RadioButton就是一个单选项,而控制的时候是控制RadioGroup.下面是Xml和代码的实现部分 xml: <RadioGroup        

Android之单复选框及Spinner实现二级联动

一.基础学习     1.图形学真的很神奇啊....查了些资料做出了3D云标签,哈哈...其实直接拿来用的,我们要效仿鲁迅先生的拿来主义,嘿嘿~~3D标签云就是做一个球面,然后再球面上取均匀分布的点,把点坐标赋给标签,再根据抽象出来的Z轴大小来改变标签的字体大小,透明度,做出立体感觉,然后球体就做好了.用到的就是简单的球面方程:已知半径r和球心,一般为了方便,我们都以坐标轴原点为球心,有下面三个方程x=r*sinθ*cosΦ   y=r*sinθ*sinΦ   z=r*cosθ;也就是说,我们可

android checkbox复选框不显示

问题描述 android checkbox复选框不显示 做了一个显示文件列表的app 列表每一项右边的checkbox复选框在安卓5.0系统中显示出来了 把app装到4.0+的系统中就不显示了 一直都找不到原因 麻烦各位大神解救 在4.0+的系统中右边的复选框不显示 但点击了代码提示还是又选中了 它还是在那个位置 但就是显示不出来 解决方案 Android中CheckBox复选框操作android 中 CheckBox 复选框操作Android复选框(CheckBox)的现实

Android复选框对话框用法实例简析_Android

本文实例分析了Android复选框对话框用法.分享给大家供大家参考,具体如下: /** * 创建筛选复选框对话框 * @param guoguanglist 联赛名 * @param flags 是否选择 * @create_time 2011-10-26 下午3:59:54 */ private void initFilterDialog(String[] iNamelist, final boolean[] iFlags) { Builder builder = new android.ap

eclipse-java的swing程序设计,为窗体添加多个复选框组件

问题描述 java的swing程序设计,为窗体添加多个复选框组件 本人在练习java的swing程序设计,想为窗体添加多个复选框组件,目标是达到下面图片的效果 我的源代码是这样的: import java.awt.BorderLayout; import java.awt.Container; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; i

Android开发之ListView,加入CheckBox(复选框),实现选择列表

http://blog.csdn.net/ahutzh/article/details/6911095 Android ListView没行加入CheckBox,实现选择列表,既可点击复选框进行选中,也可以点击list一行进行选中,效果图如下: 下面贴下主要代码的实现: 对于列表中复选框,我们需要在复选框的状态发生变化时,保存复选框的状态,不然在拖动列表过程中,会丢失复选框的状态. 在这里我们采用下面方式保存: [java] view plaincopy public class Person 

Swing常用组件之单选按钮和复选框_java

本文为大家分享了Swing单选按钮和复选框的使用方法,供大家参考,具体内容如下 JRadioButton构造函数: JRadioButton():建立一个新的JRadioButton. JRadioButton(Icon icon):建立一个有图像但没有文字的JRadioButton. JRadioButton(Icon icon,boolean selected):建立一个有图像但没有文字的JRadioButton,且设置其初始状态(有无被选取). JRadioButton(String te