• Android 开发之RadioButton


    RadioButton 即单选按钮,最多见的地方就是在用户注册的时候,选择 “男” 或者 “女”,RadioButton的特点,多个只能同时选择一个,先 看看 今天的内容

    • 单选按钮(RadioButton)的基本概念
    • RadioGroup 和 RadioButton
    • OnClickListener 与 OnCheckedChangeListener 监听器
    1. 什么是单选按钮

    这个就是单选按钮,是不是非常眼熟啊!选中的单选按钮前面的圆圈是蓝色的,这里不得不提一下上一篇讲的复选框(CheckBox)真是一对好基友啊;:-)

    单选按钮(RadioButton) 和 复选框 (CheckBox)不仅仅是 样子上的区别,一组单选按钮只能选择一个,而复选框能可以选择多个,RadioButton 涉及到 组的概念,而 CheckBox没这个概念。

     RadioButton的使用方法是在 布局文件中声明RadioGroup,java代码中获取该对象,然后对该对象进行操作。

      2.    RadioGroup 是一组的意思,即可以多个RadioButton 包含在一个RadioGroup里面

       <RadioGroup 
           android:id="@+id/radiogroup1"
           android:layout_width="wrap_content"
           android:layout_height="wrap_content"
           android:orientation="horizontal"
           >
           <RadioButton 
               android:id="@+id/radio1"
               android:layout_width="wrap_content"
               android:layout_height="wrap_content"
               android:text="男"
               />
            <RadioButton 
               android:id="@+id/radio2"
               android:layout_width="wrap_content"
               android:layout_height="wrap_content"
               android:text="女"
               />
           
       </RadioGroup>
    

    这就是一组RadioButton,一个RadioGroup里面 有2个RadioButton。

      3. 下面我们来看看OnCheckedChangeListener  监听器,和CheckBox类似,当选中的状态发生改变是触发该监听

    布局文件和上面的一样,下面看 Java代码

    package com.zhoucj.messagedemo;
    
    import android.app.Activity;
    import android.os.Bundle;
    import android.view.Menu;
    import android.widget.RadioButton;
    import android.widget.RadioGroup;
    import android.widget.RadioGroup.OnCheckedChangeListener;
    import android.widget.Toast;
    
    public class MainActivity extends Activity {
    
        RadioGroup radioGroup;
        RadioButton radio1;
        RadioButton radio2;
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            
            radioGroup=(RadioGroup)findViewById(R.id.radiogroup1);
            radio1=(RadioButton)findViewById(R.id.radio1);
            radio2=(RadioButton)findViewById(R.id.radio2);
            
            radioGroup.setOnCheckedChangeListener(new radioOnCheckedChangeListener());
    
        }
        
        class radioOnCheckedChangeListener implements OnCheckedChangeListener
        {
            @Override
            public void onCheckedChanged(RadioGroup group, int checkedId) {
                if(checkedId==radio1.getId())
                {
                    showToast("男");
                }else if(checkedId==radio2.getId())
                {
                    showToast("女");
                }
                
            }
            
        }
        
        
        public void showToast(String msg)
        {
            Toast.makeText(this, msg, 2000).show();
        }
        
        @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;
        }
    
    }

    运行结果 如下:

    RadioGroup的特点 就是选中一个时,另一个会取消选择,也就是说,在RadioGroup里面,一次只能选中一个。

    对于单选按钮来说,掌握RadioGroup 和 监听器是有必要的。

    好了,今天就写到这里了,正好过节了,等下还要去看龙舟比赛。

  • 相关阅读:
    OCP-1Z0-053-V12.02-622题
    OCP-1Z0-053-V12.02-501题
    Flex实现查询和重置
    闪回事务处理回退
    闪回数据归档测试
    闪回数据归档
    OCP-1Z0-053-V12.02-166题
    VC-摄像头控制SDK源码
    MFC 的 Picture Control 加载 BMP/PNG 图片的方法
    OCP-1Z0-051-V9.02-25题
  • 原文地址:https://www.cnblogs.com/zhoujian315/p/3131688.html
Copyright © 2020-2023  润新知