首页 > 代码库 > android常用组件之Checkbox

android常用组件之Checkbox

在android应用开发中,当用到多选框时,可以通过CheckBox组件实现。

该实例实现的功能是,选择列表内的选项,点击提交按钮后,弹出对话框,显示提交内容。

直接上代码。

首先是布局文件:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/LinearLayout1"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context="main.testa9.MainActivity" >

    <TextView 
        android:id="@+id/tv1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/choose"/>
    <CheckBox 
        android:id="@+id/cb1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/check_one"/>
    <CheckBox 
        android:id="@+id/cb2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/check_two"/>
    <CheckBox 
        android:id="@+id/cb3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/check_three"/>
    <Button 
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/btn1"/>
</LinearLayout>

其次是strings.xml文件:

<?xml version="1.0" encoding="utf-8"?>
<resources>

    <string name="app_name">TestA9</string>
    <string name="btn1">提交</string> 
    <string name="check_one">NO.1</string>
    <string name="check_two">NO.2</string>
    <string name="check_three">NO.3</string>
    <string name="choose">请选择:</string>

</resources>

最后是android源文件:

package main.testa9;

import android.support.v7.app.ActionBarActivity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.CheckBox;


public class MainActivity extends ActionBarActivity implements OnClickListener{

    private Button btn1=null;
    private CheckBox cb1=null;
    private CheckBox cb2=null;
    private CheckBox cb3=null;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
       
        btn1=(Button)findViewById(R.id.button1);
        cb1=(CheckBox)findViewById(R.id.cb1);
        cb2=(CheckBox)findViewById(R.id.cb2);
        cb3=(CheckBox)findViewById(R.id.cb3);
        btn1.setOnClickListener(MainActivity.this);
    }
    @Override
    public void onClick(View arg0) {
        String str="";
        if(cb1.isChecked()) str="No.1";
        if(cb2.isChecked()) str+="No.2";
        if(cb3.isChecked()) str+="No.3";    
        
        new AlertDialog.Builder(MainActivity.this).setTitle("提示").setMessage("您的选择是:\n"+str).setPositiveButton("确定",new DialogInterface.OnClickListener() {    
            @Override
            public void onClick(DialogInterface arg0, int arg1) {
                //可以在该处添加按钮事件监听,这里直接return,直接将该参数设置成null也可以达到相同效果
                return;
            }
        }).show();
    }   
}

测试结果:

技术分享

android常用组件之Checkbox