Android 中CheckBox复选框按钮的基本用法

简介: Android 中CheckBox复选框按钮的基本用法

效果图:

activity_checkbox.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=".CheckboxActivity"
    android:orientation="vertical"
    >
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        >
    <TextView
        android:id="@+id/tv_hobby"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="我的爱好:"
        android:textSize="20sp"
        />
    <CheckBox
        android:id="@+id/ck_book"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textSize="20sp"
        android:text="读书"
        />
    <CheckBox
        android:id="@+id/ck_sport"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textSize="20sp"
        android:text="运动"
        />
    <CheckBox
        android:id="@+id/ck_travel"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textSize="20sp"
        android:text="旅游"
        />
    </LinearLayout>
    <Button
        android:id="@+id/btn_commit"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:text="提交"
        />
</LinearLayout>

CheckboxActivity代码:

public class CheckboxActivity extends AppCompatActivity implements View.OnClickListener {
    private CheckBox ck_book,ck_sport,ck_travel;
    private Button btn_commit;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_checkbox);
        ck_book =findViewById(R.id.ck_book);
        ck_sport =findViewById(R.id.ck_sport);
        ck_travel =findViewById(R.id.ck_travel);
        btn_commit = findViewById(R.id.btn_commit);
        btn_commit.setOnClickListener(this);
    //给复选框添加选中状态改变的监听器
        ck_book.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
            @Override
            public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
              //如果选中则获取选中的值
                if (ck_book.isChecked()){
                    Toast.makeText(CheckboxActivity.this, "我的爱好:"+ck_book.getText(), Toast.LENGTH_SHORT).show();
                }
            }
        });
        ck_sport.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
            @Override
            public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
                if (ck_sport.isChecked()){
                    Toast.makeText(CheckboxActivity.this, "我的爱好:"+ck_sport.getText(), Toast.LENGTH_SHORT).show();
                }
            }
        });
        ck_travel.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
            @Override
            public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
                if (ck_travel.isChecked()){
                    Toast.makeText(CheckboxActivity.this, "我的爱好:"+ck_travel.getText(), Toast.LENGTH_SHORT).show();
                }
            }
        });
    }
    //获取复选框选中的值
    @Override
    public void onClick(View v) {
        //定义一个可变字符序列 用来存储复选框选中的值
        StringBuilder builder = new StringBuilder();
        if (ck_book.isChecked()) {
            builder.append(ck_book.getText()+",");
        }
        if (ck_sport.isChecked()) {
            builder.append(ck_sport.getText()+",");
        }
        if (ck_travel.isChecked()) {
            builder.append(ck_travel.getText()+",");
        }
        Toast.makeText(this, "我的爱好为:"+builder, Toast.LENGTH_LONG).show();
    }
}


目录
相关文章
|
7月前
|
测试技术 Android开发
Android按钮防抖动,避免发送多次请求
Android按钮防抖动,避免发送多次请求
125 0
|
3月前
|
编解码 前端开发 Android开发
Android经典实战之TextureView原理和高级用法
本文介绍了 `TextureView` 的原理和特点,包括其硬件加速渲染的优势及与其他视图叠加使用的灵活性,并提供了视频播放和自定义绘制的示例代码。通过合理管理生命周期和资源,`TextureView` 可实现高效流畅的图形和视频渲染。
286 12
|
6月前
|
XML IDE 开发工具
【Android UI】自定义带按钮的标题栏
【Android UI】自定义带按钮的标题栏
65 7
【Android UI】自定义带按钮的标题栏
|
5月前
|
Android开发 Kotlin
Android经典面试题之Kotlin中Lambda表达式有哪些用法
Kotlin的Lambda表达式是匿名函数的简洁形式,常用于集合操作和高阶函数。基本语法是`{参数 -&gt; 表达式}`。例如,`{a, b -&gt; a + b}`是一个加法lambda。它们可在`map`、`filter`等函数中使用,也可作为参数传递。单参数时可使用`it`关键字,如`list.map { it * 2 }`。类型推断简化了类型声明。
32 0
|
6月前
|
安全 JavaScript 前端开发
kotlin开发安卓app,JetPack Compose框架,给webview新增一个按钮,点击刷新网页
在Kotlin中开发Android应用,使用Jetpack Compose框架时,可以通过添加一个按钮到TopAppBar来实现WebView页面的刷新功能。按钮位于右上角,点击后调用`webViewState?.reload()`来刷新网页内容。以下是代码摘要:
|
6月前
|
存储 Android开发
安卓app,MediaPlayer播放本地音频 | 按钮控制播放和停止
在Jetpack Compose中,不直接操作原生Android组件如`Button`和`MediaPlayer`,而是使用Compose UI构建器定义界面并结合ViewModel管理音频播放逻辑。以下示例展示如何播放本地音频并用按钮控制播放/停止:创建一个`AudioPlayerViewModel`管理`MediaPlayer`实例和播放状态,然后在Compose UI中使用`Button`根据`isPlaying`状态控制播放。记得在`MainActivity`设置Compose UI,并处理相关依赖和权限。
|
6月前
|
XML Java Android开发
15. 【Android教程】按钮 Button/ImageButton
15. 【Android教程】按钮 Button/ImageButton
91 2
|
7月前
|
XML Java Android开发
Android Studio App开发之实现底部标签栏BottomNavigationView和自定义标签按钮实战(附源码 超详细必看)
Android Studio App开发之实现底部标签栏BottomNavigationView和自定义标签按钮实战(附源码 超详细必看)
711 0
|
7月前
|
定位技术 Android开发
Intent在Android中的几种用法
Intent在Android中的几种用法
87 1
|
7月前
|
XML Java Android开发
Android控件之基础控件——进度条类的view——TextView、Checkbox复选控件、RadioButton单选控件、ToggleButton开关、SeekBar拖动条、menu、弹窗
Android控件之基础控件——进度条类的view——TextView、Checkbox复选控件、RadioButton单选控件、ToggleButton开关、SeekBar拖动条、menu、弹窗
739 1