Android 小項目之--RadionButton 和RadionGroup應用

有想過友Android的小屏幕上把asp.net 的RadionButtonList搬進來用嗎?答案是肯定的,Android 的Tool工具提供了一個RadioGroup控件,可將各大自不同的RadioButton設限于同一個Radio按鈕組,這樣子就可以做到單選的效果了,那要怎么樣用呢?先看截圖:
我們要做的事是:當用戶猜題或者選擇一個特定某個選項時,我們將在後臺判斷用戶是否選中,如果選中者相應的做出處理,具體處理看各自項目的需求,代碼片段一:
  1. mButton.setOnClickListener(new OnClickListener() {
  2.             
  3.             @Override
  4.             public void onClick(View v) {
  5.                 // TODO Auto-generated method stub
  6.                 if(mRadioButton1.isChecked())
  7.                 {
  8.                     mRadioButton1.setChecked(false);
  9.                 }
  10.                 if(mRadioButton2.isChecked())
  11.                 {
  12.                     mRadioButton2.setChecked(false);
  13.                 }
  14.                 if(mRadioButton3.isChecked())
  15.                 {
  16.                     mRadioButton3.setChecked(false);
  17.                 }
  18.                 if(mRadioButton4.isChecked())
  19.                 {
  20.                     mRadioButton4.setChecked(false);
  21.                 }
  22.                 
  23.             }
  24.         });
复制代码
按鈕事件,重置選中按鈕為未選中狀態。代碼片段二:
  1. list=new OnCheckedChangeListener() {
  2.             
  3.             @Override
  4.             public void onCheckedChanged(RadioGroup group, int checkedId) {
  5.                 // TODO Auto-generated method stub
  6.                 RadioButton btn=(RadioButton)findViewById(checkedId);
  7.                 if(btn.isChecked())
  8.                 {
  9.                      switch (checkedId) {
  10.                         case R.id.RadioButton01:
  11.                             
  12.                         
  13.                                 Show("回答錯誤!");
  14.                             
  15.                             break;
  16.                         case R.id.RadioButton02:
  17.                             
  18.                                 Show("回答錯誤!");
  19.                             
  20.                             break;
  21.                         case R.id.RadioButton03:
  22.                             
  23.                                 Show("回答正確,獎勵你100分");
  24.                             
  25.                             break;
  26.                         case R.id.RadioButton04:
  27.                              
  28.                                 Show("回答錯誤!");
  29.                              
  30.                             break;
  31.                              
  32.                         }           
  33.                 }
  34.             
  35.             }
  36.         };
  37.         
  38.          mGroup.setOnCheckedChangeListener(list);
  39.     }
复制代码

步驟分析:一,通過checkid判斷用戶選中哪一個按鈕再判斷,如果狀態為ischeck()則做出相應處理二,通過checkid做出彈出處理效果完整代碼如下:
  1. package cn.terry;

  2. import android.app.Activity;
  3. import android.app.AlertDialog;
  4. import android.os.Bundle;
  5. import android.view.View;
  6. import android.view.View.OnClickListener;
  7. import android.widget.*; 
  8. import android.widget.RadioGroup.OnCheckedChangeListener;
  9. public class TestRadioButton extends Activity {
  10.     private RadioGroup mGroup;
  11.     private Button mButton;
  12.     private RadioButton mRadioButton1;
  13.     private RadioButton mRadioButton2;
  14.     private RadioButton mRadioButton3;
  15.     private RadioButton mRadioButton4; 
  16.     private OnCheckedChangeListener list;
  17.     
  18.     /** Called when the activity is first created. */
  19.     @Override
  20.     public void onCreate(Bundle savedInstanceState) {
  21.         super.onCreate(savedInstanceState);
  22.         setContentView(R.layout.main);
  23.         mGroup=(RadioGroup)findViewById(R.id.group);
  24.         mButton=(Button)findViewById(R.id.Button1);
  25.         mRadioButton1=(RadioButton)findViewById(R.id.RadioButton01);
  26.         mRadioButton2=(RadioButton)findViewById(R.id.RadioButton02);
  27.         mRadioButton3=(RadioButton)findViewById(R.id.RadioButton03);
  28.         mRadioButton4=(RadioButton)findViewById(R.id.RadioButton04);
  29.        
  30.         mButton.setOnClickListener(new OnClickListener() {
  31.             
  32.             @Override
  33.             public void onClick(View v) {
  34.                 // TODO Auto-generated method stub
  35.                 if(mRadioButton1.isChecked())
  36.                 {
  37.                     mRadioButton1.setChecked(false);
  38.                 }
  39.                 if(mRadioButton2.isChecked())
  40.                 {
  41.                     mRadioButton2.setChecked(false);
  42.                 }
  43.                 if(mRadioButton3.isChecked())
  44.                 {
  45.                     mRadioButton3.setChecked(false);
  46.                 }
  47.                 if(mRadioButton4.isChecked())
  48.                 {
  49.                     mRadioButton4.setChecked(false);
  50.                 }
  51.                 
  52.             }
  53.         });
  54.        
  55.         list=new OnCheckedChangeListener() {
  56.             
  57.             @Override
  58.             public void onCheckedChanged(RadioGroup group, int checkedId) {
  59.                 // TODO Auto-generated method stub
  60.                 RadioButton btn=(RadioButton)findViewById(checkedId);
  61.                 if(btn.isChecked())
  62.                 {
  63.                      switch (checkedId) {
  64.                         case R.id.RadioButton01:
  65.                             
  66.                         
  67.                                 Show("回答錯誤!");
  68.                             
  69.                             break;
  70.                         case R.id.RadioButton02:
  71.                             
  72.                                 Show("回答錯誤!");
  73.                             
  74.                             break;
  75.                         case R.id.RadioButton03:
  76.                             
  77.                                 Show("回答正確,獎勵你100分");
  78.                             
  79.                             break;
  80.                         case R.id.RadioButton04:
  81.                              
  82.                                 Show("回答錯誤!");
  83.                              
  84.                             break;
  85.                              
  86.                         }           
  87.                 }
  88.             
  89.             }
  90.         };
  91.         
  92.          mGroup.setOnCheckedChangeListener(list);
  93.     }
  94.     
  95.     public void Show(String msg)
  96.     {
  97.         new AlertDialog.Builder(TestRadioButton.this)
  98.         .setTitle("提示")
  99.         .setMessage(msg)
  100.         .setPositiveButton("確定", null).create().show();
  101.     }
  102.     
  103.     
  104.     
  105.     
  106.     
  107.     
  108. }
复制代码
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值