当前位置: 代码迷 >> Android >> 【Android开发学习26】界面控件之选项组件(RadioGroup跟CheckBox)
  详细解决方案

【Android开发学习26】界面控件之选项组件(RadioGroup跟CheckBox)

热度:33   发布时间:2016-05-01 11:17:45.0
【Android开发学习26】界面控件之选项组件(RadioGroup和CheckBox)

一、基础知识:

 

单项选择组件 :  RadioGroup   互相排斥

多项选择组件 :  CheckBox      彼此独立

 

 

 

 

 

二、代码展示:

1."Activity_08\src\yan\activity_08\MainActivity.java"

package yan.activity_08;import android.os.Bundle;import android.app.Activity;import android.view.Menu;import android.widget.CheckBox;import android.widget.CompoundButton;//import android.widget.CompoundButton.OnCheckedChangeListener;import android.widget.CompoundButton.OnCheckedChangeListener;import android.widget.RadioButton;import android.widget.RadioGroup;import android.widget.Toast;public class MainActivity extends Activity {	private RadioGroup	sixRadioGroup;	private RadioButton femaleRadioButton;	private RadioButton maleRadioButton;	private CheckBox swimCheckBox;	private CheckBox runCheckBox;	private CheckBox readCheckBox;		@Override	protected void onCreate(Bundle savedInstanceState) {		super.onCreate(savedInstanceState);		setContentView(R.layout.main);				sixRadioGroup = (RadioGroup)findViewById(R.id.myRadioGroup);		femaleRadioButton = (RadioButton)findViewById(R.id.myRadioButton1);		maleRadioButton = (RadioButton)findViewById(R.id.myRadioButton2);		swimCheckBox = (CheckBox)findViewById(R.id.swim);		runCheckBox = (CheckBox)findViewById(R.id.run);		readCheckBox = (CheckBox)findViewById(R.id.read);						class RadioGroupCheckBoxListener implements RadioGroup.OnCheckedChangeListener{			@Override			public void onCheckedChanged(RadioGroup group, int checkedId) {				// TODO Auto-generated method stub				if(checkedId == femaleRadioButton.getId())				{					Toast.makeText(MainActivity.this, R.string.female_y_note, Toast.LENGTH_SHORT).show();				}else if(checkedId == maleRadioButton.getId())				{					Toast.makeText(MainActivity.this, R.string.male_y_note, Toast.LENGTH_SHORT).show();				}			}								}		class SwimCheckBoxListener implements OnCheckedChangeListener{			@Override			public void onCheckedChanged(CompoundButton buttonView,					boolean isChecked) {				// TODO Auto-generated method stub				if(isChecked)				{					Toast.makeText(MainActivity.this, R.string.swim_y_note, Toast.LENGTH_SHORT).show();				}else{					Toast.makeText(MainActivity.this, R.string.swim_n_note, Toast.LENGTH_SHORT).show();				}			}		}				class RunCheckBoxListener implements OnCheckedChangeListener{			@Override			public void onCheckedChanged(CompoundButton buttonView,					boolean isChecked) {				// TODO Auto-generated method stub				if(isChecked)				{					Toast.makeText(MainActivity.this, R.string.run_y_note, Toast.LENGTH_SHORT).show();				}else{					Toast.makeText(MainActivity.this, R.string.run_n_note, Toast.LENGTH_SHORT).show();				}			}		}				class ReadCheckBoxListener implements OnCheckedChangeListener{			@Override			public void onCheckedChanged(CompoundButton buttonView,					boolean isChecked) {				// TODO Auto-generated method stub				if(isChecked)				{					Toast.makeText(MainActivity.this, R.string.read_y_note, Toast.LENGTH_SHORT).show();				}else{					Toast.makeText(MainActivity.this, R.string.read_n_note, Toast.LENGTH_SHORT).show();				}			}		}				swimCheckBox.setOnCheckedChangeListener(new SwimCheckBoxListener());		runCheckBox.setOnCheckedChangeListener(new RunCheckBoxListener());		readCheckBox.setOnCheckedChangeListener(new ReadCheckBoxListener());		sixRadioGroup.setOnCheckedChangeListener(new RadioGroupCheckBoxListener());			}	@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;	}}

 

2."Activity_08\res\layout\main.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" 	android:background="#00aaaa"      >     <TextView		android:id="@+id/firstText"  		android:text="@string/hello_world"  		android:gravity="center_vertical"  		android:textSize="15pt"  		android:background="#aa0000"  		android:layout_width="fill_parent"  		android:layout_height="wrap_content"  		android:singleLine="true"/>     <!--建立一個RadioGroup -->   <RadioGroup     android:id="@+id/myRadioGroup"     android:layout_width="150dp"     android:layout_height="95dp"     android:orientation="vertical"     android:background="#00aa00"       >     <!--第一個RadioButton -->     <RadioButton       android:id="@+id/myRadioButton1"       android:layout_width="wrap_content"       android:layout_height="wrap_content"       android:text="@string/female"     />     <!--第二個RadioButton -->     <RadioButton       android:id="@+id/myRadioButton2"       android:layout_width="wrap_content"       android:layout_height="wrap_content"       android:text="@string/male"     />     </RadioGroup>            <CheckBox          android:id="@+id/swim"         android:text="@string/swim"         android:layout_width="fill_parent"         android:layout_height="wrap_content"/>     <CheckBox         android:id="@+id/run"         android:text="@string/run"        android:layout_width="fill_parent"         android:layout_height="wrap_content"/>     <CheckBox         android:id="@+id/read"         android:text="@string/read"         android:layout_width="fill_parent"         android:layout_height="wrap_content"/>   </LinearLayout>  


3."Activity_08\res\values\strings.xml"

<?xml version="1.0" encoding="utf-8"?><resources>    <string name="app_name">Activity_08</string>    <string name="hello_world">Hello world!</string>    <string name="menu_settings">Settings</string>	<string name="female">女</string>	<string name="female_y_note">性别:女 被选中</string>	<string name="male">男</string>	<string name="male_y_note">性别:男 被选中</string>	<string name="swim">游泳</string>	<string name="swim_y_note">游泳被选中!</string>	<string name="swim_n_note">游泳被取消选中!</string>	<string name="run">跑步</string>	<string name="run_y_note">跑步被选中!</string>	<string name="run_n_note">跑步被取消选中!</string>	<string name="read">阅读</string>	<string name="read_y_note">阅读被选中!</string>	<string name="read_n_note">阅读被取消选中!</string>		</resources>

 

 

 

 

三、效果展示:


 

 

 

本文完整代码下载地址: http://download.csdn.net/detail/ypist/5146866

 

本文博客源地址:http://blog.csdn.net/ypist

 

 

 

 

  相关解决方案