用户注册



邮箱:

密码:

用户登录


邮箱:

密码:
记住登录一个月忘记密码?

发表随想


还能输入:200字

浅夏_菜鸟    -  云代码空间

—— get busy living,or get busy dying

转 : Android入门之多选按钮(CheckBox)

2015-06-02|1310阅||

摘要:效果图: 代码如下: activity_main.xml   <</span>LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"  

效果图:

代码如下:

activity_main.xml

 

  1. <</span>LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"  
  2.     xmlns:tools="http://schemas.android.com/tools"  
  3.     android:layout_width="match_parent"  
  4.     android:layout_height="match_parent"  
  5.     android:paddingBottom="@dimen/activity_vertical_margin"  
  6.     android:paddingLeft="@dimen/activity_horizontal_margin"  
  7.     android:paddingRight="@dimen/activity_horizontal_margin"  
  8.     android:paddingTop="@dimen/activity_vertical_margin"  
  9.     tools:context=".MainActivity" >  
  10.     <</span>CheckBox   
  11.         android:id="@+id/eatid"  
  12.         android:layout_width="wrap_content"  
  13.         android:layout_height="wrap_content"  
  14.         android:text="吃饭"  
  15.         />  
  16.     <</span>CheckBox   
  17.         android:id="@+id/sleepid"  
  18.         android:layout_width="wrap_content"  
  19.         android:layout_height="wrap_content"  
  20.         android:text="睡觉"  
  21.         />  
  22.     <</span>CheckBox   
  23.         android:id="@+id/dotaid"  
  24.         android:layout_width="wrap_content"  
  25.         android:layout_height="wrap_content"  
  26.         android:text="dota"  
  27.         />  
  28. </</span>LinearLayout>  

有2种方法;

 

第一种是OnClickListener的使用方法:

代码如下:

MainActivity.java

 

  1. package com.jk.test;  
  2. import android.app.Activity;  
  3. import android.os.Bundle;  
  4. import android.view.Menu;  
  5. import android.view.View;  
  6. import android.view.View.OnClickListener;  
  7. import android.widget.CheckBox;  
  8. public class MainActivity extends Activity {  
  9.     private CheckBox eatBox;  
  10.     private CheckBox sleepBox;  
  11.     private CheckBox dotaBox;  
  12.     @Override  
  13.     protected void onCreate(Bundle savedInstanceState) {  
  14.         super.onCreate(savedInstanceState);  
  15.         setContentView(R.layout.activity_main);  
  16.         eatBox=(CheckBox)findViewById(R.id.eatid);  
  17.         sleepBox=(CheckBox)findViewById(R.id.sleepid);  
  18.         dotaBox=(CheckBox)findViewById(R.id.dotaid);  
  19.         onBoxClickListener listener =new onBoxClickListener();  
  20.         eatBox.setOnClickListener(listener);  
  21.         sleepBox.setOnClickListener(listener);  
  22.         dotaBox.setOnClickListener(listener);  
  23.     }  
  24.     class onBoxClickListener implements OnClickListener{  
  25.   
  26.         @Override  
  27.         public void onClick(View v) {  
  28.             // TODO Auto-generated method stub  
  29.             CheckBox box = (CheckBox)v;  
  30.             if(box.getId()==R.id.eatid)  
  31.                 System.out.println("eatBox");  
  32.             else if(box.getId()==R.id.sleepid)  
  33.                 System.out.println("sleepBox");  
  34.             else if(box.getId()==R.id.dotaid)  
  35.                 System.out.println("dotaBox");  
  36.             if(box.isChecked())  
  37.                 System.out.println("is checked!");  
  38.             else  
  39.                 System.out.println("is unchecked!");  
  40.         }         
  41.     }  
  42.     @Override  
  43.     public boolean onCreateOptionsMenu(Menu menu) {  
  44.         // Inflate the menu; this adds items to the action bar if it is present.  
  45.         getMenuInflater().inflate(R.menu.main, menu);  
  46.         return true;  
  47.     }  
  48. }  
第二种是OnCheckedChangeListener的使用方法:

 

 

  1. package com.jk.test;  
  2. import android.app.Activity;  
  3. import android.os.Bundle;  
  4. import android.view.Menu;  
  5. import android.widget.CheckBox;  
  6. import android.widget.Compounon;  
  7. import android.widget.Compounon.OnCheckedChangeListener;  
  8. public class MainActivity extends Activity {  
  9.     private CheckBox eatBox;  
  10.     private CheckBox sleepBox;  
  11.     private CheckBox dotaBox;  
  12.     @Override  
  13.     protected void onCreate(Bundle savedInstanceState) {  
  14.         super.onCreate(savedInstanceState);  
  15.         setContentView(R.layout.activity_main);  
  16.         eatBox=(CheckBox)findViewById(R.id.eatid);  
  17.         sleepBox=(CheckBox)findViewById(R.id.sleepid);  
  18.         dotaBox=(CheckBox)findViewById(R.id.dotaid);  
  19.         CheckBoxListener listener =new CheckBoxListener();  
  20.         eatBox.setOnCheckedChangeListener(listener);  
  21.         sleepBox.setOnCheckedChangeListener(listener);  
  22.         dotaBox.setOnCheckedChangeListener(listener);  
  23.     }  
  24.     class CheckBoxListener implements OnCheckedChangeListener{  
  25.         public void onCheckedChanged(Compounon v, boolean isChecked) {  
  26.             // TODO Auto-generated method stub  
  27.             Compounon box = (Compounon)v;  
  28.             if(box.getId()==R.id.eatid)  
  29.                 System.out.println("eatBox");  
  30.             else if(box.getId()==R.id.sleepid)  
  31.                 System.out.println("sleepBox");  
  32.             else if(box.getId()==R.id.dotaid)  
  33.                 System.out.println("dotaBox");  
  34.             if(isChecked)  
  35.                 System.out.println("is checked!");  
  36.             else  
  37.                 System.out.println("is unchecked!");  
  38.         }         
  39.     }  
  40.     public boolean onCreateOptionsMenu(Menu menu) {  
  41.         // Inflate the menu; this adds items to the action bar if it is present.  
  42.         getMenuInflater().inflate(R.menu.main, menu);  
  43.         return true;  
  44.     }  
  45. }  

另外下面是实现全选的功能:

 

 

  1. package com.jk.test;  
  2.   
  3. import android.app.Activity;  
  4. import android.os.Bundle;  
  5. import android.view.Menu;  
  6. import android.widget.CheckBox;  
  7. import android.widget.Compounon;  
  8. import android.widget.Compounon.OnCheckedChangeListener;  
  9.   
  10. public class MainActivity extends Activity {  
  11.     private CheckBox eatBox;  
  12.     private CheckBox sleepBox;  
  13.     private CheckBox dotaBox;  
  14.     private CheckBox allClickBox;  
  15.   
  16.     @Override  
  17.     protected void onCreate(Bundle savedInstanceState) {  
  18.         super.onCreate(savedInstanceState);  
  19.         setContentView(R.layout.activity_main);  
  20.         eatBox = (CheckBox) findViewById(R.id.eatid);  
  21.         sleepBox = (CheckBox) findViewById(R.id.sleepid);  
  22.         dotaBox = (CheckBox) findViewById(R.id.dotaid);  
  23.         allClickBox = (CheckBox) findViewById(R.id.allClickid);  
  24.         CheckBoxListener listener = new CheckBoxListener();  
  25.         eatBox.setOnCheckedChangeListener(listener);  
  26.         sleepBox.setOnCheckedChangeListener(listener);  
  27.         dotaBox.setOnCheckedChangeListener(listener);  
  28.         allClickBox.setOnCheckedChangeListener(listener);  
  29.     }  
  30.     class CheckBoxListener implements OnCheckedChangeListener {  
  31.         public void onCheckedChanged(Compounon v, boolean isChecked) {  
  32.             Compounon box = (Compounon) v;  
  33.             if (box.getId() == R.id.eatid) {  
  34.                 if (isChecked)  
  35.                     System.out.println("eatBox is checked!");  
  36.                 else  
  37.                     System.out.println("eatBox is unchecked!");  
  38.             }   
  39.             else if (box.getId() == R.id.eatid) {  
  40.                 if (isChecked)  
  41.                     System.out.println("sleepBox is checked!");  
  42.                 else  
  43.                     System.out.println("sleepBox is unchecked!");  
  44.             }   
  45.             else if (box.getId() == R.id.eatid) {  
  46.                 if (isChecked)  
  47.                     System.out.println("dotaBox is checked!");  
  48.                 else  
  49.                     System.out.println("dotaBox is unchecked!");  
  50.             }   
  51.             else if (box.getId() == R.id.allClickid) {  
  52.                 if (isChecked) {  
  53.                     eatBox.setChecked(true);  
  54.                     sleepBox.setChecked(true);  
  55.                     dotaBox.setChecked(true);  
  56.                 }   
  57.                 else {  
  58.                     eatBox.setChecked(false);  
  59.                     sleepBox.setChecked(false);  
  60.                     dotaBox.setChecked(false);  
  61.                 }  
  62.             }  
  63.         }  
  64.     }  
  65.     public boolean onCreateOptionsMenu(Menu menu) {  
  66.         // Inflate the menu; this adds items to the action bar if it is present.  
  67.         getMenuInflater().inflate(R.menu.main, menu);  
  68.         return true;  
  69.     }  
  70. }  
顶 0踩 0收藏
文章评论
    发表评论

    个人资料

    • 昵称: 浅夏_菜鸟
    • 等级: 中级程序员
    • 积分: 150
    • 代码: 2 个
    • 文章: 1 篇
    • 随想: 0 条
    • 访问: 3 次
    • 关注

    人气代码

    最新提问

      站长推荐