• Android初级教程小案例之单选框RadioGroup与复选框CheckBox


    Android里面的单选框和html中的其实是一样的效果。这里用到两个控件:CheckBox和RadioGroup。直接上代码:

    radio.xml布局文件:

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:orientation="vertical"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        >
    <TextView
    	android:id="@+id/textView1"  
        android:layout_width="fill_parent" 
        android:layout_height="wrap_content" 
        android:text="@string/hello"
        />
    <RadioGroup
    	android:id="@+id/genderGroup"
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:orientation="vertical"
        >
        <RadioButton
        	android:id="@+id/femaleButton"
     	    android:layout_width="wrap_content" 
      	    android:layout_height="wrap_content" 
      	    android:text="@string/female"
      	    />
        <RadioButton
        	android:id="@+id/maleButton"
     	    android:layout_width="wrap_content" 
      	    android:layout_height="wrap_content" 
      	    android:text="@string/male"
      	    />
    </RadioGroup>
    <CheckBox
    	android:id="@+id/swim"
     	android:layout_width="wrap_content" 
      	android:layout_height="wrap_content" 
      	android:text="@string/swim"
      	/>
    <CheckBox
    	android:id="@+id/run"
     	android:layout_width="wrap_content" 
      	android:layout_height="wrap_content" 
      	android:text="@string/run"
      	/>
    <CheckBox
    	android:id="@+id/read"
     	android:layout_width="wrap_content" 
      	android:layout_height="wrap_content" 
      	android:text="@string/read"
      	/>
    </LinearLayout>
    


    String.xml代码:

    <?xml version="1.0" encoding="utf-8"?>
    <resources>
        <string name="hello">Hello World, Activity07!</string>
        <string name="app_name">activity07</string>
        <string name="male">男</string>
        <string name="female">女</string>
        <string name="swim">swim</string>
        <string name="run">run</string>
        <string name="read">read</string>
    </resources>
    
    RadioTest:

    package mars.activity07;
    
    import android.app.Activity;
    import android.os.Bundle;
    import android.widget.CheckBox;
    import android.widget.CompoundButton;
    import android.widget.RadioButton;
    import android.widget.RadioGroup;
    import android.widget.Toast;
    
    public class RadioTest extends Activity {
        /** Called when the activity is first created. */
    	//对控件对象进行声明
    	private RadioGroup genderGroup = null;
    	private RadioButton femaleButton = null;
    	private RadioButton maleButton = null;
    	private CheckBox swimBox = null;
    	private CheckBox runBox = null;
    	private CheckBox readBox = null;
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.radio);
            //通过控件的ID来得到代表控件的对象
            genderGroup = (RadioGroup)findViewById(R.id.genderGroup);
            femaleButton = (RadioButton)findViewById(R.id.femaleButton);
            maleButton = (RadioButton)findViewById(R.id.maleButton);
            swimBox = (CheckBox)findViewById(R.id.swim);
            runBox = (CheckBox)findViewById(R.id.run);
            readBox = (CheckBox)findViewById(R.id.read);
            //为RadioGroup设置监听器,需要注意的是,这里的监听器和Button控件的监听器有所不同
            genderGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
    			
    			@Override
    			public void onCheckedChanged(RadioGroup group, int checkedId) {
    				// TODO Auto-generated method stub
    				if(femaleButton.getId() == checkedId){
    					System.out.println("famale");
    					Toast.makeText(RadioTest.this, "famle", Toast.LENGTH_SHORT).show();
    				}
    				else if(maleButton.getId() == checkedId)
    				{
    					System.out.println("male");
    					Toast.makeText(RadioTest.this, "male", Toast.LENGTH_SHORT).show();
    				}
    			}
    		});
            
            //为多选按钮添加监听器
            swimBox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
    			
    			@Override
    			public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
    				// TODO Auto-generated method stub
    				if(isChecked)//未选中到选中状态是执行这里:
    				{
    					System.out.println("swim is checked");
    				}
    				else//由选中状态到未选中状态时候执行这里:
    				{
    					System.out.println("swim is unchecked");
    				}
    			}
    		});
            runBox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
    			
    			@Override
    			public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
    				// TODO Auto-generated method stub
    				if(isChecked)
    				{
    					System.out.println("run is checked");
    				}
    				else
    				{
    					System.out.println("run is unchecked");
    				}
    			}
    		});
            readBox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
    			
    			@Override
    			public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
    				// TODO Auto-generated method stub
    				if(isChecked)
    				{
    					System.out.println("read is checked");
    				}
    				else
    				{
    					System.out.println("read is unchecked");
    				}
    			}
    		});
        }
        
    }


    注册文件进行注册:

    <application android:icon="@drawable/icon" android:label="@string/app_name">
            <activity android:name=".RadioTest"
                      android:label="@string/app_name">
                <intent-filter>
                    <action android:name="android.intent.action.MAIN" />
                    <category android:name="android.intent.category.LAUNCHER" />
                </intent-filter>
            </activity>
    
        </application>

    执行效果图:



  • 相关阅读:
    Kubernetes 学习15 kubernetes 认证及serviceaccount
    Kubernetes 学习14 kubernetes statefulset
    Kubernetes 学习13 kubernetes pv pvc configmap 和secret
    Day_13【IO流】扩展案例2_统计指定项目文件中字符出现的次数
    Day_13【IO流】扩展案例1_读取项目文件内容并去重
    Day_12【集合】扩展案例4_判断字符串每一个字符出现的次数
    Day_12【集合】扩展案例3_产生10个长度为10,不能重复,由数字0-9,小写字母和大写字母组成的字符串
    Day_12【集合】扩展案例2_键盘录入一个字符串,对其进行去重,并将去重后的字符串组成新数组
    Day_12【集合】扩展案例1_利用集合的知识对长度为10的int数组进行去重,产生新数组,不能改变数组中原来数字的大小顺序
    Day_11【集合】扩展案例5_对list集合对象中的元素进行反转,求最大值最小值,求元素i在list集合中首次出现的索引,将oldvalue替换为newvalue
  • 原文地址:https://www.cnblogs.com/wanghang/p/6299686.html
Copyright © 2020-2023  润新知