• Android 控件:CheckBox



    首先,在布局文件里注冊CheckBox

    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"
        android:orientation="vertical"
        tools:context=".MainActivity">
    
        <TextView android:text="@string/hello_world"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" />
    
        <CheckBox
            android:id="@+id/eatID"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="吃饭"
            />
        <CheckBox
            android:id="@+id/sleepID"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="睡觉"/>
    
        <CheckBox
            android:id="@+id/dotaID"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="dota"/>
    </LinearLayout>
    

    MainActivity.java


    CheckBox 即能够绑定 view.OnClickListener,也能够绑定 CompoundButton.OnCheckedChangeListener.

    package com.example.litingdong.checkboxtest;
    
    import android.support.v7.app.ActionBarActivity;
    import android.os.Bundle;
    import android.view.Menu;
    import android.view.MenuItem;
    import android.view.View;
    import android.widget.CheckBox;
    import android.widget.CompoundButton;
    
    
    public class MainActivity extends ActionBarActivity {
    
        private CheckBox eatBox;
        private CheckBox sleepBox;
        private CheckBox dotaBox;
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            eatBox=(CheckBox)findViewById(R.id.eatID);
            sleepBox=(CheckBox)findViewById(R.id.sleepID);
            dotaBox=(CheckBox)findViewById(R.id.dotaID);
            //OnClickListener
            OnButtonClickListener listener=new OnButtonClickListener();
            listener = new OnButtonClickListener();
            eatBox.setOnClickListener(listener);
            sleepBox.setOnClickListener(listener);
            dotaBox.setOnClickListener(listener);
    
            //OnCheckedChangedListener
            CheckBoxListener changeListener =new CheckBoxListener();
            eatBox.setOnCheckedChangeListener(changeListener);
            sleepBox.setOnCheckedChangeListener(changeListener);
            dotaBox.setOnCheckedChangeListener(changeListener);
        }
        
        class OnButtonClickListener implements View.OnClickListener{
            @Override
            public void onClick(View v) {
                CheckBox box=(CheckBox)v;
    
                if (box.getId()==R.id.eatID) {
                    System.out.println("eatBox");
                }else if(box.getId()==R.id.sleepID){
                    System.out.println("sleepBox");
    
                }else{
                    System.out.println("dotaBox");
                }
    
                if (box.isChecked()){
                    System.out.println("Checked!");
                }else{
                    System.out.println("UnChecked!");
                }
            }
        }
    
        class CheckBoxListener implements CompoundButton.OnCheckedChangeListener{
    
            @Override
            public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
                if (buttonView.getId()==R.id.eatID){
                    System.out.println("eatBox");
                }else if (buttonView.getId()==R.id.sleepID){
                    System.out.println("sleepBox");
                }else{
                    System.out.println("dotaBox");
                }
    
                if (isChecked){
                    System.out.println("Checked!");
                }else{
                    System.out.println("UnChecked!");
                }
            }
        }
        @Override
        public boolean onCreateOptionsMenu(Menu menu) {
            // Inflate the menu; this adds items to the action bar if it is present.
            getMenuInflater().inflate(R.menu.menu_main, menu);
            return true;
        }
    
        @Override
        public boolean onOptionsItemSelected(MenuItem item) {
            // Handle action bar item clicks here. The action bar will
            // automatically handle clicks on the Home/Up button, so long
            // as you specify a parent activity in AndroidManifest.xml.
            int id = item.getItemId();
    
            //noinspection SimplifiableIfStatement
            if (id == R.id.action_settings) {
                return true;
            }
    
            return super.onOptionsItemSelected(item);
        }
    }
    

    logcat:

     







  • 相关阅读:
    请求参数的中文乱码问题
    MySql索引与优化
    Android 兼容包
    Mysql 主从(转)
    解决tomcat一闪而过(转)
    log4j
    支付相关
    通过maven添加quartz
    linux命令学习之:chmod
    Nginx特点及其配置
  • 原文地址:https://www.cnblogs.com/brucemengbm/p/7001587.html
Copyright © 2020-2023  润新知