RadioGroup和CheckBox使用示例

MainActivity如下:

package cc.cv;
import cn.com.bravesoft.testchoose.R;
import android.os.Bundle;
import android.app.Activity;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.TextView;
import android.widget.RadioGroup.OnCheckedChangeListener;
/**
 * Demo描述:
 * RadioGroup和CheckBox使用示例
 *
 */
public class MainActivity extends Activity {
	private RadioGroup mRadioGroup;
	private CheckBox mEatCheckBox;
	private CheckBox mSleepCheckBox;
	private CheckBox mPlayCheckBox;
	private Button mConfirmButton;
	private TextView mResultTextView;
	private StringBuffer hobby;
	private String gender="";
	private String selectedResult="";

	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);
		init();
	}

	private void init(){
		mResultTextView = (TextView) findViewById(R.id.resultTextView);
		mRadioGroup = (RadioGroup) findViewById(R.id.genderRadioGroup);
		mRadioGroup.setOnCheckedChangeListener(new RadioButtonOnCheckedChangeListenerImpl());
		mEatCheckBox=(CheckBox) findViewById(R.id.eatCheckBox);
		mSleepCheckBox=(CheckBox) findViewById(R.id.sleepCheckBox);
		mPlayCheckBox=(CheckBox) findViewById(R.id.playBox);
		mConfirmButton = (Button) findViewById(R.id.confirmButton);
		mConfirmButton.setOnClickListener(new ButtonOnClickListenerImpl());
	}
	private class ButtonOnClickListenerImpl implements OnClickListener{
		@Override
		public void onClick(View view) {
			hobby=new StringBuffer();
			selectedResult=new String();
			//获取被选中的单选按钮及其内容
			for (int i = 0; i < mRadioGroup.getChildCount(); i++) {
				RadioButton radioButton=(RadioButton) mRadioGroup.getChildAt(i);
				if (radioButton.isChecked()) {
					gender=radioButton.getText().toString();
					break;
				}
			}
			//判断每个CheckBox是否被选中
			if (mEatCheckBox.isChecked()) {
				hobby.append(" ");
				hobby.append(mEatCheckBox.getText().toString());
			}
			if (mSleepCheckBox.isChecked()) {
				hobby.append(" ");
				hobby.append(mSleepCheckBox.getText().toString());
			}
			if (mPlayCheckBox.isChecked()) {
				hobby.append(" ");
				hobby.append(mPlayCheckBox.getText().toString());
			}
			selectedResult=gender+" "+hobby.toString();
			mResultTextView.setText(selectedResult);
		}

	}

	//监听单选的变化
	 private class RadioButtonOnCheckedChangeListenerImpl implements OnCheckedChangeListener{
			@Override
			public void onCheckedChanged(RadioGroup group, int checkedId) {
				RadioButton rb=(RadioButton)findViewById(group.getCheckedRadioButtonId());
				String currentSelected=rb.getText().toString();
				System.out.println("现在选中的性别是:"+currentSelected);
			}}
}

main.xml如下:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical"
    android:gravity="center_horizontal" >

    <TextView
        android:id="@+id/resultTextView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textColor="#00FF00"
        android:textSize="20dip" >
    </TextView>

    <RadioGroup
        android:id="@+id/genderRadioGroup"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="horizontal" >

        <RadioButton
            android:id="@+id/male"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:checked="true"
            android:text="@string/male" >
        </RadioButton>

        <RadioButton
            android:id="@+id/female"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/female" >
        </RadioButton>
    </RadioGroup>

    <LinearLayout
        android:id="@+id/LinearLayout01"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="vertical" >

        <CheckBox
            android:id="@+id/eatCheckBox"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/eat" >
        </CheckBox>

        <CheckBox
            android:id="@+id/sleepCheckBox"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/sleep" >
        </CheckBox>

        <CheckBox
            android:id="@+id/playBox"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/play" >
        </CheckBox>
    </LinearLayout>

    <Button
        android:id="@+id/confirmButton"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="20dip"
        android:text="@string/ok" >
    </Button>

</LinearLayout>

strings.xml如下:

<?xml version="1.0" encoding="utf-8"?>
<resources>

    <string name="app_name">TestChoose</string>
    <string name="action_settings">Settings</string>
    <string name="hello_world">Hello world!</string>
    <string name="male">男</string>
    <string name="female">女</string>
    <string name="eat">吃饭</string>
    <string name="sleep">睡觉</string>
    <string name="play">玩耍</string>
    <string name="ok">选择完毕</string>

</resources>
时间: 2024-09-08 18:56:40

RadioGroup和CheckBox使用示例的相关文章

自定义RadioGroup实现单选完整示例

MainActivity如下: package cc.testradiogroup; import android.os.Bundle; import android.widget.RadioButton; import android.widget.RadioGroup; import android.widget.RadioGroup.OnCheckedChangeListener; import android.app.Activity; /** * Demo描述: * 利用自定义Radi

Android自定义RadioGroup实现单选完整示例

MainActivity如下: [java] view plaincopy package cc.testradiogroup;      import android.os.Bundle;   import android.widget.RadioButton;   import android.widget.RadioGroup;   import android.widget.RadioGroup.OnCheckedChangeListener;   import android.app.

ExtJs2.0学习系列(7)--Ext.FormPanel之第四式(其他组件示例篇)

N久没有写extjs的,作为一个新手,我为我的这种懒惰行为感到惭愧! 鉴于有朋友反应前面的文章过于简单,我决定以后的文章如果没有闪光点就放在新手区(如果不适合,请跟帖),不放在首页! 11.checkbox简单示例 效果图: js代码: Ext.onReady(function(){ Ext.QuickTips.init(); var myform=new Ext.FormPanel({ frame:true, width:330, layout:"form", labelWidth:

android RadioButton和CheckBox组件的使用方法_Android

RadioButton是单选按钮,多个RadioButton放在一个RadioGroup控件中,也就是说每次只能有1个RadioButton被选中.而CheckBox是多选按钮,Toatst是android中带的一个用于显示提示小窗口消息的控件,其提示的内容过一会儿会自动消失.RadioGroup和CheckBox控件设置监听器都是用的setOnCheckedChangeListener函数,其输入参数是一个函数,且函数内部要实现1个内部类.RadioGroup监听器的输入参数用的是RadioG

背水一战 Windows 10 (33) - 控件(选择类): ListBox, RadioButton, CheckBox, ToggleSwitch

原文:背水一战 Windows 10 (33) - 控件(选择类): ListBox, RadioButton, CheckBox, ToggleSwitch [源码下载] 背水一战 Windows 10 (33) - 控件(选择类): ListBox, RadioButton, CheckBox, ToggleSwitch 作者:webabcd 介绍背水一战 Windows 10 之 控件(选择类) ListBox RadioButton CheckBox ToggleSwitch 示例1.L

android RadioButton和CheckBox组件的使用方法

RadioButton是单选按钮,多个RadioButton放在一个RadioGroup控件中,也就是说每次只能有1个RadioButton被选中.而CheckBox是多选按钮,Toatst是android中带的一个用于显示提示小窗口消息的控件,其提示的内容过一会儿会自动消失.RadioGroup和CheckBox控件设置监听器都是用的setOnCheckedChangeListener函数,其输入参数是一个函数,且函数内部要实现1个内部类.RadioGroup监听器的输入参数用的是RadioG

《Android应用开发攻略》——2.14 备份Android应用程序数据

2.14 备份Android应用程序数据 Pratik Rupwal2.14.1 问题 当用户恢复出厂设置或者改用新的Android设备时,应用程序丢失存储数据或者应用程序设置.2.14.2 解决方案 Android的Backup Manager(备份管理器)能够在应用程序重新安装时自动恢复备份数据或者应用程序设置.2.14.3 讨论 Android的备份管理器本质上以两种模式运行--备份和恢复.在备份操作期间,备份管理器(BackuManager类)询问应用程序所要备份的数据,并将其放入一个备

jQuery Mobile教程:表单form组件

文章简介:本文主要看一下jQuery Mobile体系中的form常见的几个组件. 本文主要看一下jQuery Mobile体系中的form常见的几个组件,我们采用"提问●回答"的方式来初步地了解一下: 1.如何设置radio? 示例: <!-- content start --> <div data-role="content"> <!-- h3 start --> <h3>1.垂直模式:</h3> &l

Android学习笔记(一)

1. Android的HelloWorld 1.src目录存放源代码:gen目录是工具帮我们生成的,不可修改:R.java里面的id为res文件夹下的文件或者xml文件中的键值对相对应的.assets文件夹也可以存放文件,这和res文件夹的不同在于,assets文件夹中的文件是不会在R.java中生成id的. 2.在Manifest.xml文件中,哪个Activity中定义有以下语句,这个Activity就是程序的主入口. ? 1 2 3 4 <intent-filter>     <a