Android 控件:CheckBox

来源:互联网 发布:Windows测试udp 编辑:程序博客网 时间:2024/04/30 05:54


首先,在布局文件中注册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:

 







1 0