首页 > 代码库 > 熟悉AndroidAPI系列2——CheckBox和OnCheckedChangeListener

熟悉AndroidAPI系列2——CheckBox和OnCheckedChangeListener

技术分享技术分享技术分享
<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:paddingBottom="@dimen/activity_vertical_margin"    android:paddingLeft="@dimen/activity_horizontal_margin"    android:paddingRight="@dimen/activity_horizontal_margin"    android:paddingTop="@dimen/activity_vertical_margin"    tools:context=".MainActivity"    android:orientation="vertical" >   <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"/>       <CheckBox        android:id = "@+id/allId"       android:layout_width = "wrap_content"       android:layout_height = "wrap_content"       android:text = "全选"/></LinearLayout>
package com.njulya.checkbox;import android.app.Activity;import android.os.Bundle;import android.view.Menu;import android.widget.CheckBox;import android.widget.CompoundButton;import android.widget.CompoundButton.OnCheckedChangeListener;public class MainActivity extends Activity {    private CheckBox eatBox;    private CheckBox sleepBox;    private CheckBox dotaBox;    private CheckBox allBox;        @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);        allBox = (CheckBox)findViewById(R.id.allId);                AllBoxListener allListener = new AllBoxListener();        CheckBoxListener boxListener = new CheckBoxListener();                eatBox.setOnCheckedChangeListener(boxListener);        sleepBox.setOnCheckedChangeListener(boxListener);        dotaBox.setOnCheckedChangeListener(boxListener);        allBox.setOnCheckedChangeListener(allListener);    }        private class AllBoxListener implements OnCheckedChangeListener{        @Override        public void onCheckedChanged(CompoundButton arg0, boolean isChecked) {            if(isChecked){                eatBox.setChecked(true);                sleepBox.setChecked(true);                dotaBox.setChecked(true);            }else{                eatBox.setChecked(false);                sleepBox.setChecked(false);                dotaBox.setChecked(false);            }        }            }    private class CheckBoxListener implements OnCheckedChangeListener{        @Override        public void onCheckedChanged(CompoundButton checkbox, boolean isChecked) {            if(checkbox.getId() == R.id.eatId){                System.out.println("eat");            }            else if(checkbox.getId() == R.id.sleepId){                System.out.println("sleep");            }            else if(checkbox.getId() == R.id.dotaId){                System.out.println("dota");            }                        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.main, menu);        return true;    }}

 

熟悉AndroidAPI系列2——CheckBox和OnCheckedChangeListener