熟悉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; } }
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。