复选框 CheckBox 的实例

本文介绍如何在Android应用中使用复选框组件。通过XML布局文件添加复选框,并在MainActivity中设置监听器来响应用户的勾选操作。同时,实现了一个提交按钮用于展示已选择的选项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

(1)通过在XML布局文件中使用<checkBox>标记添加复选框,在res/layout目录下,创建activity_main.xml,如下:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    >
    <CheckBox 
        android:text="魔术"
        android:id="@+id/ID1"
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        />
    <CheckBox 
        android:text="牧师"
        android:id="@+id/ID2"
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        />
        <CheckBox 
        android:text="狼人"
        android:id="@+id/ID3"
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        />
        
        <Button 
        android:text="提交"
        android:id="@+id/bt"
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"   
            
            />
</LinearLayout>


(2)在MainActivity中,实例化OnCheckedChangeListener对象,重写onCheckedChanged()方法,选中就用输出一条对应日志;在onCreate()方法中,获取添加的三个复选框,并添加监听事件;设置一个提交按钮,获取被选中的复选框的值,并用Toast输出:

package com.example.test5;


import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.Window;
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 {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        requestWindowFeature(Window.FEATURE_NO_TITLE);
        setContentView(R.layout.activity_main);
        final OnCheckedChangeListener checkBox_listener=new 
        OnCheckedChangeListener() {

@Override
public void onCheckedChanged(CompoundButton ButtonView,
boolean isChecked) {
// TODO 自动生成的方法存根
if(isChecked){
Log.i("复选框","选中了["+ButtonView.getText().
toString()+"]");
}
}
};

final CheckBox like1=(CheckBox) findViewById(R.id.ID1);
        final CheckBox like2=(CheckBox) findViewById(R.id.ID2);
        final CheckBox like3=(CheckBox) findViewById(R.id.ID3);
        like1.setOnCheckedChangeListener(checkBox_listener);
        like2.setOnCheckedChangeListener(checkBox_listener);
        like3.setOnCheckedChangeListener(checkBox_listener);
  
        Button bt=(Button) findViewById(R.id.bt);
        bt.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {
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();
}
}
        );
       }
    }
        
   (3)实际运行效果:


一个不错的Matlab的gui界面设计实例 精美日历 function CalendarTable; % calendar 日历 % Example: % CalendarTable; S=datestr(now); [y,m,d]=datevec(S); % d is day % m is month % y is year DD={'Sun','Mon','Tue','Wed','Thu','Fri','Sat'}; close all figure; for k=1:7; uicontrol(gcf,'style','text',... 'unit','normalized','position',[0.02+k*0.1,0.55,0.08,0.06],... 'BackgroundColor',0.6*[1,1,1],'ForegroundColor','b',... 'String',DD(k),'fontsize',16,'fontname','times new roman'); end h=1; ss='b'; qq=eomday(y,m); for k=1:qq; n=datenum(y,m,k); [da,w] = weekday(n); if k==d; ss='r'; end uicontrol(gcf,'style','push',... 'unit','normalized','position',[0.02+da*0.1,0.55-h*0.08,0.08,0.06],... 'BackgroundColor',0.6*[1,1,1],'ForegroundColor',ss,... 'String',num2str(k)); ss='b'; if da==7; h=h+1; end end uicontrol(gcf,'style','push',... 'unit','normalized','position',[0.6,0.66,0.12,0.08],... 'BackgroundColor',0.6*[1,1,1],'ForegroundColor',ss,... 'String','clock','fontsize',18,'fontname','times new roman'); Tq=uicontrol(gcf,'style','push',... 'unit','normalized','position',[0.74,0.66,0.17,0.08],... 'BackgroundColor',0.6*[1,1,1],'ForegroundColor',[0.1,0.9,0.9],... 'fontsize',18,'fontname','times new roman'); sq='The calendar'; uicontrol(gcf,'style','push',... 'unit','normalized','position',[0.14,0.86,0.37,0.08],... 'BackgroundColor',0.6*[1,1,1],'ForegroundColor',[0.1,0.9,0.9],... 'fontsize',18,'fontname','times new roman','string',sq); try while 1 set(Tq,'String',datestr(now,13)); pause(1); end end
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值