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

android开发

开发平台:

Java

  1. package irdc.ex04_25;
  2. import android.app.Activity;
  3. import android.os.Bundle;
  4. import android.view.View;
  5. import android.widget.Button;
  6. import android.widget.RadioButton;
  7. import android.widget.RadioGroup;
  8. import android.widget.TextView;
  9. public class EX04_25 extends Activity
  10. {
  11.   protected Button mButton1,mButton2;
  12.   protected TextView mTextView1;
  13.   protected RadioGroup mRadioGroup1;
  14.   protected boolean mUserChoice = false;
  15.   protected int mMyChoice = -2;
  16.   protected int intTimes = 0;
  17.   protected RadioButton mRadio1,mRadio2,mRadio3;
  18.   
  19.   /** Called when the activity is first created. */
  20.   @Override
  21.   public void onCreate(Bundle savedInstanceState)
  22.   {
  23.     super.onCreate(savedInstanceState);
  24.     setContentView(R.layout.main);
  25.     
  26.     mButton1 =(Button) findViewById(R.id.myButton1);
  27.     mButton2 =(Button) findViewById(R.id.myButton2);
  28.     mTextView1 = (TextView) findViewById(R.id.myTextView1);
  29.     
  30.     /* RadioGroup Widget */
  31.     mRadioGroup1 = (RadioGroup) findViewById(R.id.myRadioGroup1);
  32.     
  33.     mRadio1 = (RadioButton) findViewById(R.id.myOption1); 
  34.     mRadio2 = (RadioButton) findViewById(R.id.myOption2);
  35.     mRadio3 = (RadioButton) findViewById(R.id.myOption3);
  36.     
  37.     /* 取得三个RadioButton的ID,并存放置整数数组中 */
  38.     int[] aryChoose =
  39.     {
  40.       mRadio1.getId(), mRadio2.getId(), mRadio3.getId()
  41.     };
  42.     
  43.     /* 以随机数的方式指定哪一个为系统猜测的答案 */
  44.     int intRandom = (int) (Math.random() * 3);
  45.     mMyChoice = aryChoose[intRandom];
  46.     
  47.     /* 回答按钮事件 */
  48.     mButton1.setOnClickListener(mChoose);
  49.     
  50.     /* 清空按钮事件 */
  51.     mButton2.setOnClickListener(mClear);
  52.     
  53.     /* RadioGruop当User更改选项后的事件处理 */
  54.     mRadioGroup1.setOnCheckedChangeListener(mChangeRadio);
  55.   }
  56.   
  57.   /* RadioGruop当User更改选项后的事件处理 */
  58.   private RadioGroup.OnCheckedChangeListener mChangeRadio = 
  59.   new RadioGroup.OnCheckedChangeListener()
  60.   {
  61.     @Override
  62.     public void onCheckedChanged(RadioGroup group, int checkedId)
  63.     {
  64.       // TODO Auto-generated method stub
  65.       if(checkedId==mMyChoice)
  66.       {
  67.         /* User猜对了*/
  68.         mUserChoice = true;
  69.       }
  70.       else
  71.       {
  72.         /* User猜错了*/
  73.         mUserChoice = false;
  74.       }
  75.     }
  76.   };
  77.   
  78.   /* 回答按钮事件 */
  79.   private Button.OnClickListener mChoose = 
  80.   new Button.OnClickListener()
  81.   {
  82.     @Override
  83.     public void onClick(View v)
  84.     {
  85.       // TODO Auto-generated method stub
  86.       if(mUserChoice)
  87.       {
  88.         mTextView1.setText(R.string.str_guess_correct);
  89.         mUserChoice = false;
  90.         intTimes = 0;
  91.         mRadio1 = (RadioButton) findViewById(R.id.myOption1); 
  92.         mRadio2 = (RadioButton) findViewById(R.id.myOption2);
  93.         mRadio3 = (RadioButton) findViewById(R.id.myOption3);
  94.         int[] aryChoose =
  95.         {
  96.           mRadio1.getId(), mRadio2.getId(), mRadio3.getId()
  97.         };
  98.         int intRandom = (int) (Math.random() * 3);
  99.         mMyChoice = aryChoose[intRandom];
  100.         mRadioGroup1.clearCheck();
  101.       }
  102.       else
  103.       {
  104.         intTimes++;
  105.         mTextView1.setText
  106.         (
  107.           getResources().getString(R.string.str_guess_error)+
  108.           "("+Integer.toString(intTimes)+")"
  109.         );
  110.       }
  111.     }
  112.   };
  113.   
  114.   /* 清空按钮事件 */
  115.   private Button.OnClickListener mClear = 
  116.   new Button.OnClickListener()
  117.   {
  118.     @Override
  119.     public void onClick(View v)
  120.     {
  121.       // TODO Auto-generated method stub
  122.       mUserChoice = false;
  123.       intTimes = 0;
  124.       mRadio1 = (RadioButton) findViewById(R.id.myOption1); 
  125.       mRadio2 = (RadioButton) findViewById(R.id.myOption2);
  126.       mRadio3 = (RadioButton) findViewById(R.id.myOption3);
  127.       int[] aryChoose =
  128.       {
  129.         mRadio1.getId(), mRadio2.getId(), mRadio3.getId()
  130.       };
  131.       int intRandom = (int) (Math.random() * 3);
  132.       mMyChoice = aryChoose[intRandom];
  133.       
  134.       mTextView1.setText(R.string.hello);
  135.       mRadioGroup1.clearCheck();
  136.     }
  137.   };
  138. }