`

玩转Android---UI篇---CheckBox(多选按钮)

阅读更多

 

 

多选按钮CheckBox的可以实现多项选择,我们可以现在布局文件中定义多选按钮,然后对每一个多选按钮进行事件监听

setOnCheckedChangeListener,通过isChecked来判断选项是否被选中

 

下面是一个例子,可以很好的理解CheckBox的使用

CheckBoxTest.java

 

package org.loulijun.checkbox;

import android.app.Activity;
import android.os.Bundle;
import android.view.Gravity;
import android.view.View;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.TextView;
import android.widget.Toast;

public class CheckBoxTest extends Activity {
    /** Called when the activity is first created. */
	TextView textview;
	Button submit;
	CheckBox checkbox1;
	CheckBox checkbox2;
	CheckBox checkbox3;
	CheckBox checkbox4;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        
        textview=(TextView)findViewById(R.id.textview);
        submit=(Button)findViewById(R.id.submit);
        
        //取得每一个CheckBox对象
        checkbox1=(CheckBox)findViewById(R.id.checkbox1);
        checkbox2=(CheckBox)findViewById(R.id.checkbox2);
        checkbox3=(CheckBox)findViewById(R.id.checkbox3);
        checkbox4=(CheckBox)findViewById(R.id.checkbox4);
        
        //为每一个选项设置监听
        checkbox1.setOnCheckedChangeListener(new CheckBox.OnCheckedChangeListener()
        {
			@Override
			public void onCheckedChanged(CompoundButton buttonView,
					boolean isChecked) {
				// TODO Auto-generated method stub
				if(checkbox1.isChecked())
				{
					DisplayToast("你选择了:"+checkbox1.getText());
				}
			}
        	
        });
        
        checkbox2.setOnCheckedChangeListener(new CheckBox.OnCheckedChangeListener()
        {
			@Override
			public void onCheckedChanged(CompoundButton buttonView,
					boolean isChecked) {
				// TODO Auto-generated method stub
				if(checkbox2.isChecked())
				{
					DisplayToast("你选择了:"+checkbox2.getText());
				}
			}
        	
        });
        
        checkbox3.setOnCheckedChangeListener(new CheckBox.OnCheckedChangeListener()
        {
			@Override
			public void onCheckedChanged(CompoundButton buttonView,
					boolean isChecked) {
				// TODO Auto-generated method stub
				if(checkbox3.isChecked())
				{
					DisplayToast("你选择了:"+checkbox3.getText());
				}
			}
        	
        });
        
        checkbox4.setOnCheckedChangeListener(new CheckBox.OnCheckedChangeListener()
        {
			@Override
			public void onCheckedChanged(CompoundButton buttonView,
					boolean isChecked) {
				// TODO Auto-generated method stub
				if(checkbox4.isChecked())
				{
					DisplayToast("你选择了:"+checkbox4.getText());
				}
			}
        	
        });
        
        submit.setOnClickListener(new Button.OnClickListener()
        {

			@Override
			public void onClick(View v) {
				// TODO Auto-generated method stub
				int num=0;
				if(checkbox1.isChecked())
				{
					num++;
				}
				if(checkbox2.isChecked())
				{
					num++;
				}
				if(checkbox3.isChecked())
				{
					num++;
				}
				if(checkbox4.isChecked())
				{
					num++;
				}
				DisplayToast("您一共选择了"+num+"款Android手机!");
			}
        	
        });
    }
    public void DisplayToast(String str)
    {
    	Toast toast=Toast.makeText(this, str, Toast.LENGTH_SHORT);
    	//设置Toast的显示位置
    	toast.setGravity(Gravity.TOP, 0, 220);
    	//显示Toast
    	toast.show();
    }
}

 main.xml布局文件

 

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
<TextView  
	android:id="@+id/textview"
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:text="@string/hello"
    />
<CheckBox
	android:id="@+id/checkbox1"
	android:layout_width="fill_parent"
	android:layout_height="wrap_content"
	android:text="@string/checkbox1"
/>
<CheckBox
	android:id="@+id/checkbox2"
	android:layout_width="fill_parent"
	android:layout_height="wrap_content"
	android:text="@string/checkbox2"
/>
<CheckBox
	android:id="@+id/checkbox3"
	android:layout_width="fill_parent"
	android:layout_height="wrap_content"
	android:text="@string/checkbox3"
/>
<CheckBox
	android:id="@+id/checkbox4"
	android:layout_width="fill_parent"
	android:layout_height="wrap_content"
	android:text="@string/checkbox4"
/>
<Button
	android:id="@+id/submit"
	android:layout_width="wrap_content"
	android:layout_height="wrap_content"
	android:layout_gravity="center"
	android:text="提交信息"
/>
</LinearLayout>

 strings.xml文件

 

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="hello">调查:你喜欢Android的那款手机?</string>
    <string name="app_name">CheckBoxTest</string>
    <string name="checkbox1">HTC desire HD</string>
    <string name="checkbox2">Google nexus one</string>
    <string name="checkbox3">HTC defy</string>
    <string name="checkbox4">摩托罗拉里程碑II</string>
</resources>

 运行结果如下:




 

  • 大小: 14.5 KB
  • 大小: 15.9 KB
  • 大小: 16 KB
分享到:
评论

相关推荐

    Android---UI篇

    •Android---UI篇---CheckBox(多选按钮) • •Android---UI篇---ListView之SampleAdapter(列表)---1 • •Android---UI篇---ListView之ArrayAdapter(列表)---2 • •Android---UI篇---ListView之...

    uniapp多选标签/多选按钮/多选框源码

    本项目着重讲解了如何在`uni-app`中实现多选标签、多选按钮和多选框的功能,这对于构建用户交互丰富的应用至关重要。 首先,我们来看“多选标签”。在UI设计中,多选标签(Multiple Select Tags)通常用于让用户在...

    Android Checkbox多选全选

    在Android开发中,Checkbox是用户界面(UI)中常见的组件之一,用于实现单选或复选功能。在很多场景下,比如设置界面、列表选择等,我们常常需要实现Checkbox的多选和全选功能,这使得用户能够方便地批量操作。本...

    019_UI_常用组件-BasicViews-button-checkbox-radio

    通过“019_UI_常用组件-BasicViews-button-checkbox-radio”视频教材,你将学习到如何在Android Studio中创建和定制这些组件,包括它们的外观、交互效果以及与后台逻辑的绑定。此外,你还将了解到如何处理触摸事件、...

    Android 树形结构的多选CheckBox

    在Android开发中,实现树形结构的多选CheckBox是一项常见的需求,主要用于展现层次关系的数据,并允许用户进行多项选择。这个“Android 树形结构的多选CheckBox”项目提供了一个易于集成和使用的解决方案。 首先,...

    CheckBox实现多选、全选、反选功能

    在Android开发中,CheckBox是常用的一种控件,用于表示两种状态的选择:选中或未选中。本教程将深入探讨如何使用CheckBox实现多选、全选和反选功能,这对于构建具有选择列表的应用非常关键。 首先,我们从基础开始...

    nested_el-checkbox:element-ui的el-checkbox实现嵌套多选,单选

    element-ui的el-checkbox实现嵌套多选,单选 tips:chrome获取本地json数据时会产生跨域问题,建议用firefox直接打开 效果图 主要功能: 实现多选框层级嵌套 当选中一个二级子菜单的时候,其对应的上级菜单也选中 若...

    WPF CheckBox多选的应用

    本篇文章将详细探讨WPF中CheckBox多选的应用,以及如何实现这一功能。 首先,我们需要了解WPF中的CheckBox基本属性和事件。CheckBox的IsChecked属性表示其当前是否被选中,这是一个布尔类型的依赖属性。当选中时,...

    Android程序源码--单选、多选按钮

    在Android开发中,单选按钮(RadioButton)和多选按钮(CheckBox)是用户界面中常见的交互元素,用于收集用户的选择信息。本资源包含的是关于如何在Android应用中实现这两种控件的源码示例。 首先,单选按钮...

    Android自定义Dialog多选对话框(Dialog+Listview+CheckBox)

    总结起来,这个示例展示了如何在Android应用中创建一个具有多选功能的自定义Dialog,通过Dialog、ListView和CheckBox的组合实现用户交互。这种功能在很多场景下都很实用,比如选择联系人、文件或者其他任何需要用户...

    Android-MultipleFilter-简单易用的多样式筛选器选择控件支持多选和反选

    在Android应用开发中,UI设计和交互体验是至关重要的元素之一。`Android-MultipleFilter`是一个专门为Android平台设计的高效且灵活的筛选器组件,它提供了多种筛选样式,并且支持多选与反选功能,同时在选中或输入时...

    Android-拥有三种状态纯Material风格的AndroidCheckbox控件

    在Android应用开发中,UI设计和交互体验是至关重要的元素之一。Material Design是Google推出的一种设计语言,旨在提供一致、直观且富有表现力的用户体验。本文将深入探讨如何实现一个具有三种状态的纯Material风格的...

    element-ui CheckBox全选.txt

    vue配合element-ui框架中el-checkbox 接收json"data:[{key:1,name:'小李'}]"对象时全选与非全选时获取相关设定的值源码文件

    android listview+checkbox实现多选

    本文将详细介绍如何在Android中使用ListView和Checkbox实现多选功能。 一、ListView概述 ListView是Android提供的一个可以显示大量数据的视图组件,它可以根据需要动态加载数据,通过适配器(Adapter)将数据绑定到...

    android-support-v7.jar

    除了上述功能,`android-support-v7-appcompat`还提供了其他的UI组件,如Spinner、CheckBox、RadioButton等,这些组件都进行了优化,以适应不同的Android版本。 八、使用方法 要使用`android-support-v7-appcompat...

    Android里ListView里面添加CheckBox实现多选

    本篇文章将深入探讨如何在ListView中实现CheckBox的多选功能,并使用ViewHolder和ConvertView优化性能。 1. **ListView与Adapter基础** - ListView是Android中用于显示长列表的视图,它可以动态加载和回收视图,以...

    ListVIew 实现Checkbox多选

    本文将深入探讨如何在ListView中实现Checkbox多选功能,以及相关的Android编程技巧。 首先,我们需要创建一个自定义的ListView adapter。这个adapter将负责渲染每一项数据,并在每一项中包含一个Checkbox。在Java...

    radiobutton 控制checkbox多选(js实现)

    ### radiobutton 控制 checkbox 多选 (js 实现) 在 Web 开发中,表单是与用户交互的重要组成部分。为了实现更加灵活的功能,有时我们需要利用 JavaScript 来控制表单元素的状态,例如通过单选按钮(`...

    react-checkbox-tree:一个简单而优雅的React复选框树

    React复选框树 一个简单优雅的复选框树,用于... node_modules/react-checkbox-tree/src/less/react-checkbox-tree.less node_modules/react-checkbox-tree/src/scss/react-checkbox-tree.scss 在样式表中包含以

    listview+checkbox 多选

    本篇文章将详细探讨如何在ListView中结合Checkbox实现多选功能。 ### 1. ListView的基本使用 首先,我们需要了解ListView的基础用法。在布局文件中声明ListView,并在Java代码中找到对应的View对象,然后通过...

Global site tag (gtag.js) - Google Analytics