EX04_05.java
上传用户:vip_99
上传日期:2021-03-27
资源大小:61159k
文件大小:3k
源码类别:

android开发

开发平台:

Java

  1. package irdc.EX04_05;
  2. import android.app.Activity;
  3. import android.os.Bundle;
  4. import android.widget.CheckBox;
  5. import android.widget.CompoundButton;
  6. import android.widget.TextView;
  7. public class EX04_05 extends Activity 
  8. {
  9.   /*声明对象变量*/
  10.   private TextView mTextView1;
  11.   private CheckBox mCheckBox1;
  12.   private CheckBox mCheckBox2;
  13.   private CheckBox mCheckBox3;
  14.   
  15.   /** Called when the activity is first created. */
  16.   @Override
  17.   public void onCreate(Bundle savedInstanceState) 
  18.   {
  19.     super.onCreate(savedInstanceState);
  20.     setContentView(R.layout.main);
  21.     
  22.     /*通过findViewById取得TextView对象并调整文字内容*/
  23.     mTextView1 = (TextView) findViewById(R.id.myTextView1); 
  24.     mTextView1.setText("你所选择的项目有: "); 
  25.     
  26.     /*通过findViewById取得三个CheckBox对象*/
  27.     mCheckBox1=(CheckBox)findViewById(R.id.myCheckBox1);
  28.     mCheckBox2=(CheckBox)findViewById(R.id.myCheckBox2);
  29.     mCheckBox3=(CheckBox)findViewById(R.id.myCheckBox3);
  30.     
  31.     /*设置OnCheckedChangeListener给三个CheckBox对象*/
  32.     mCheckBox1.setOnCheckedChangeListener(mCheckBoxChanged);
  33.     mCheckBox2.setOnCheckedChangeListener(mCheckBoxChanged);
  34.     mCheckBox3.setOnCheckedChangeListener(mCheckBoxChanged);
  35.   }
  36.     
  37.   /*声明并建构onCheckedChangeListener对象*/ 
  38.   private CheckBox.OnCheckedChangeListener mCheckBoxChanged 
  39.   = new CheckBox.OnCheckedChangeListener() 
  40.   { 
  41.     /*implement onCheckedChanged方法*/
  42.     @Override 
  43.     public void onCheckedChanged(CompoundButton buttonView,
  44.                                  boolean isChecked) 
  45.     { 
  46.       // TODO Auto-generated method stub 
  47.       /*通过getString()取得CheckBox的文字字符串*/
  48.       String str0="所选的项目为: ";
  49.       String str1=getString(R.string.str_checkbox1);
  50.       String str2=getString(R.string.str_checkbox2);
  51.       String str3=getString(R.string.str_checkbox3);
  52.       String plus=";";
  53.       String result="但是超过预算啰!!";
  54.       String result2="还可以再多买几本喔!!";
  55.       
  56.       /*任一CheckBox被勾选后,该CheckBox的文字会改变TextView的文字内容
  57.        * 三个对象总共八种情境*/
  58.       if(mCheckBox1.isChecked()==true & mCheckBox2.isChecked()==true
  59.           & mCheckBox3.isChecked()==true) 
  60.       { 
  61.         mTextView1.setText(str0+str1+plus+str2+plus+str3+result);
  62.       } 
  63.       else if(mCheckBox1.isChecked()==false & mCheckBox2.isChecked()==true
  64.           & mCheckBox3.isChecked()==true) 
  65.       { 
  66.         mTextView1.setText(str0+str2+plus+str3+result);
  67.       } 
  68.       else if(mCheckBox1.isChecked()==true & mCheckBox2.isChecked()==false
  69.           & mCheckBox3.isChecked()==true) 
  70.       { 
  71.         mTextView1.setText(str0+str1+plus+str3+result);
  72.       } 
  73.       else if(mCheckBox1.isChecked()==true & mCheckBox2.isChecked()==true
  74.           & mCheckBox3.isChecked()==false) 
  75.       { 
  76.         mTextView1.setText(str0+str1+plus+str2+result);
  77.       } 
  78.       else if(mCheckBox1.isChecked()==false & mCheckBox2.isChecked()==false
  79.           & mCheckBox3.isChecked()==true) 
  80.       { 
  81.         mTextView1.setText(str0+str3+plus+result2);
  82.       } 
  83.       else if(mCheckBox1.isChecked()==false & mCheckBox2.isChecked()==true
  84.           & mCheckBox3.isChecked()==false) 
  85.       { 
  86.         mTextView1.setText(str0+str2);
  87.       } 
  88.       else if(mCheckBox1.isChecked()==true & mCheckBox2.isChecked()==false
  89.           & mCheckBox3.isChecked()==false) 
  90.       { 
  91.         mTextView1.setText(str0+str1);
  92.       } 
  93.       else if(mCheckBox1.isChecked()==false & mCheckBox2.isChecked()==false
  94.           & mCheckBox3.isChecked()==false) 
  95.       { 
  96.         mTextView1.setText(str0);
  97.       }
  98.     }
  99.   };
  100. }