专栏首页Android干货安卓开发_复选按钮控件(CheckBox)的简单使用

安卓开发_复选按钮控件(CheckBox)的简单使用

复选按钮 即可以选择若干个选项,与单选按钮不同的是,复选按钮的图标是方块,单选按钮是圆圈

复选按钮用CheckBox表示,CheckBox是Button的子类,支持使用Button的所有属性

一、由于复选框可以选中多项,所有为了确定用户是否选择了某一项,还需要为每一个选项添加setOnCheckedChangeListener事件监听

例如:

为id为like1的复选按钮添加状态改变事件监听,代码如下

 1 final CheckBox like1 = (CheckBox)findViewById(R.id.like1);
 2     //监听事件
 3     
 4     like1.setOnCheckedChangeListener(new OnCheckedChangeListener()){
 5         
 6     @Override
 7     public void onCheckedChanged(CompoundButton arg0, boolean arg1) {
 8         // TODO Auto-generated method stub
 9         if(like1.isChecked())
10             like1.getText();
11         }
12     });

二、使用示例

先看布局文件

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >
    
    <TextView 
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="选择您的爱好"
        android:textSize="19dp"
        />
    <CheckBox 
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/id_checkbox_1"
        android:text="音乐"
        />
    <CheckBox 
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/id_checkbox_2"
        android:text="美术"
        />
    <CheckBox 
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/id_checkbox_3"
        android:text="体育"
        />
    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="提交"
        android:id="@+id/btn_checkbox_tijiao" 
        />
</LinearLayout>

效果图:

再看JAVA文件

 1 package base_ui;
 2 
 3 import com.example.allcode.R;
 4 
 5 import android.app.Activity;
 6 import android.os.Bundle;
 7 import android.view.View;
 8 import android.view.View.OnClickListener;
 9 import android.widget.Button;
10 import android.widget.CheckBox;
11 import android.widget.Checkable;
12 import android.widget.CompoundButton;
13 import android.widget.RadioGroup.OnCheckedChangeListener;
14 import android.widget.Toast;
15 
16 public class Ui_CheckBox extends Activity implements android.widget.CompoundButton.OnCheckedChangeListener{
17     private Button tijiao;
18     private CheckBox checkbox_1;
19     private CheckBox checkbox_2;
20     private CheckBox checkbox_3;
21     private OnCheckedChangeListener checkbox_listen ;
22     @Override
23     protected void onCreate(Bundle savedInstanceState) {
24         // TODO Auto-generated method stub
25         super.onCreate(savedInstanceState);
26         setContentView(R.layout.base_ui_checkbox);
27     
28         tijiao = (Button) findViewById(R.id.btn_checkbox_tijiao);
29         
30         checkbox_1 = (CheckBox) findViewById(R.id.id_checkbox_1);
31         checkbox_2 = (CheckBox) findViewById(R.id.id_checkbox_2);
32         checkbox_3 = (CheckBox) findViewById(R.id.id_checkbox_3);
33         tijiao = (Button) findViewById(R.id.btn_checkbox_tijiao);
34         
35         checkbox_1.setOnCheckedChangeListener(this);
36         checkbox_2.setOnCheckedChangeListener(this);
37         checkbox_3.setOnCheckedChangeListener(this);
38         
39         tijiao.setOnClickListener(new OnClickListener() {
40             
41             @Override
42             public void onClick(View v) {
43                 // TODO Auto-generated method stub
44                 String str="";   //存放选中的选项的值
45                 if(checkbox_1.isChecked())
46                     str+=checkbox_1.getText().toString()+" ";
47                 if(checkbox_2.isChecked())
48                     str+=checkbox_2.getText().toString()+" ";
49                 if(checkbox_3.isChecked())
50                     str+=checkbox_3.getText().toString()+" ";
51                 Toast.makeText(Ui_CheckBox.this, "您选择的喜欢的爱好为:"+str, 1).show();
52                 
53                 
54             }
55         });
56     }
57     //监听事件
58     @Override
59     public void onCheckedChanged(CompoundButton arg0, boolean arg1) {
60         // TODO Auto-generated method stub
61         
62     }
63     
64 }

可以看到,代码是很简单的,只有一个方法需要学习

checkbox_1.isChecked()

返回checkbox_1对应的复选按钮控件是否被选中

效果图:

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 关于安卓开发实现底部菜单栏(已过时做法,不建议使用)

    听着music睡
  • 安卓开发_单选按钮控件(RadioButton)的简单使用

    听着music睡
  • 关于启动Activity之间的及普通按钮的点击事件

    听着music睡
  • 超炫的FlowingDrawer效果

    1、FlowingDrawer 效果 ---- ? 2、FlowingDrawer说明 ---- FlowingDrawer是一个拖拽效果控件。 温馨提示:Fl...

    非著名程序员
  • Android 仿微信底部渐变Tab(2)

    是根据ImageView的tint属性来实现颜色渐变效果的,这里再来提供一个新思路,是根据图片的透明度来实现Tab渐变切换,步骤比起之前的方法要简单一些,而且效...

    叶应是叶
  • 1-AI--Activity生命周期

    张风捷特烈
  • Android官方提供的支持不同屏幕大小的全部方法

    为了确保你的布局能够自适应各种不同屏幕大小,你应该在布局的视图中使用"wrap_content"和"match_parent"来确定它的宽和高。如果你使用了"...

    梦_之_旅
  • 利用 CollapsingToolbarLayout 完成联动的动画效果

    最初的想法是自己去利用 Android 的嵌套滚动机制,去实现上面的嵌套滚动效果.但最后为了开发效率直接利用了 CollapsingToolbarLayout...

    夏洛克的猫
  • android 多条件筛选菜单效果

    http://blog.csdn.net/u011733020/article/details/51002746

    bear_fish
  • Android Material Design之Toolbar与Palette实践

    前言 我们都知道Marterial Design是Google推出的全新UI设计规范,如果对其不太了解的可以看下:Material design非官方中文指导手...

    xiangzhihong

扫码关注云+社区

领取腾讯云代金券