zoukankan      html  css  js  c++  java
  • 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>

    执行效果图:



  • 相关阅读:
    图片编辑网站
    mysql导出表的字段及相关属性
    SpringBoot使用注解实现事务管理
    Linux命令
    linux上部署SpringBoot项目及遇到的问题
    使用配置文件产生随机数
    UUID生成随机字符串
    第二十二节 web服务器里集成了解析动态请求的功能
    第二十节 多进程面对对象web服务器
    第二十节 tcp_ip协议
  • 原文地址:https://www.cnblogs.com/wanghang/p/6299686.html
Copyright © 2011-2022 走看看