RadioGroup + RadioButton 提供了一种多选一的模式。下面是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:text = "请选择你的性别"
android:layout_width="fill_parent"
android:layout_height="wrap_content"/>
<RadioGroup android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:id="@+id/rg1">
<RadioButton android:text="男" android:id="@+id/rb1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"/>
<RadioButton android:text="女" android:id="@+id/rb2"
android:layout_width="fill_parent"
android:layout_height="wrap_content"/>
<RadioButton android:text="不男不女" android:id="@+id/rb3"
android:layout_width="fill_parent"
android:layout_height="wrap_content"/>
</RadioGroup>
</LinearLayout>
改配置中定义了一个RadioGroup,而这个Group包括了3个RadioButton。性别对于人来说,只可能是一种,所以适合用RadioButton。需要指出的是,如果RadioButton不放在一个RadioGroup中,是不存在互斥的效果的。
RadioGroup 支持 setOnCheckedChangeListener,也就是说,改Group下面的选择发生变化的时候,RadioGroup可以监听到这种变化。
RadioButton 也支持setOnCheckedChangeListener。 不过他们对应的Listener不同,RadioGroup 是:RadioGroup.OnCheckedChangeListener,而RadioButton是:
CompoundButton.OnCheckedChangeListener.
RadioGroup.getCheckedRadioButtonId(),可以得到选择的RadioButton的ID。
代码如下:
package org.terry;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.AutoCompleteTextView;
import android.widget.Button;
import android.widget.CompoundButton;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.Toast;
public class RadioBoxDemo extends Activity{
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.radiobox);
final RadioGroup rg1 = (RadioGroup)findViewById(R.id.rg1);
RadioButton rb1 = (RadioButton) findViewById(R.id.rb1);
RadioButton rb2 = (RadioButton) findViewById(R.id.rb2);
RadioButton rb3 = (RadioButton) findViewById(R.id.rb3);
Button btn1 = (Button)findViewById(R.id.rbtn1);
rg1.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
public void onCheckedChanged(RadioGroup group, int checkedId) {
RadioButton rb = (RadioButton) findViewById(checkedId);
Toast.makeText(getApplicationContext(), "you selected "+rb.getText().toString(), Toast.LENGTH_SHORT).show();
}
});
rb1.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
RadioButton rb = (RadioButton) buttonView;
Toast.makeText(getApplicationContext(), "you selected "+rb.getText().toString(), Toast.LENGTH_SHORT).show();
}
});
btn1.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
RadioButton rb = (RadioButton) findViewById(rg1.getCheckedRadioButtonId());
Toast.makeText(getApplicationContext(), "you selected "+rb.getText().toString(), Toast.LENGTH_SHORT).show();
}
});
}
} }
- 大小: 15 KB
分享到:
相关推荐
RadioButton是Android的 android.widget.RadioGroup 类中的一个子类,它在视觉上表现为一个小圆圈,未被选中时为空,被选中时填充。RadioGroup用于管理多个RadioButton,确保同一时间只有一个RadioButton被选中。 ...
RadioButton是Android SDK中的android.widget.RadioButton类,它是Button的子类,用于实现单选功能。在XML布局文件中,我们可以通过以下方式定义一个RadioButton: ```xml <RadioButton android:id="@+id/...
### Android基础教程(七)之-单选项框RadioGroup的综合应用 #### 一、引言 本章节主要探讨Android开发中的`RadioGroup`组件及其综合应用案例。`RadioGroup`是一个容器,用于容纳多个`RadioButton`(单选按钮)。在`...
RadioButton是Android的android.widget.RadioGroup类的子元素,它们通常被包含在一个RadioGroup中。RadioGroup负责管理其内部的RadioButton,确保同一时间内只有一个RadioButton被选中。以下是一个基本的RadioButton...
在Android开发中,RadioGroup和RadioButton控件是用于创建单选按钮组的常用组件,它们让用户在一组选项中选择一个并禁用其他选项。本文将详细介绍这两种控件的使用方法,并提供一个简单的示例。 首先,让我们理解...
java.lang.Object ↳ android.view.View ↳ android.widget.TextView ↳ android.widget.Button ↳ android.widget.RadioButton ``` RadioGroup的定义如下: ```java java.lang.Object ↳ android.view.View ↳ ...
综上所述,这份"Android应用源码之(RadioButton与监听.zip"的压缩包应该包含了关于RadioButton的使用、状态监听、样式自定义等方面的示例代码,有助于开发者深入理解Android UI开发中的选择控件使用技巧。...
在Android开发中,RadioButton是用户界面中常见的组件之一,它用于实现单选功能,让用户从多个选项中选择一个。RadioButton通常与RadioGroup配合使用,RadioGroup可以管理一组RadioButton,确保同一时间只有一个...
本文实例讲述了Android编程开发之RadioGroup用法。分享给大家供大家参考,具体如下: RadioGroup 有时候比较有用.主要特征是给用户提供多选一机制。 MainActivity.java package com.example.lesson16_radio; ...
首先,`RadioButton`是Android的`android.widget.RadioButton`类,它继承自`CompoundButton`。在XML布局文件中,我们可以使用`<RadioButton>`标签来声明它,并设置相应的属性,如文本、ID、颜色等。例如: ```xml ...
- `↳ android.widget.RadioButton` #### 单选按钮的特点 1. **状态改变**: 用户可以通过点击或者按压的方式改变`RadioButton`的状态,即从选中变为未选中或反之。 2. **不可取消选中**: 默认情况下,用户不能通过...
在Android开发中,RadioButton是构建用户界面的重要组件之一,它属于单选按钮控件,用于在多个选项中让用户选择一个。RadioButton通常与RadioGroup一起使用,以实现互斥的单选效果。下面是关于RadioButton的一些核心...
在Android开发中,RadioButton是用户界面中常见的组件之一,用于实现单选功能,通常与RadioGroup结合使用。本文将深入探讨如何在Android中自定义RadioButton,以满足特定的设计需求,如创建竖直方向的tabhost组件。 ...
首先,我们需要了解Android中的RadioGroup和RadioButton组件。RadioGroup是承载多个RadioButton的容器,它会确保用户只能选择一个RadioButton。RadioButton则是单个的选择项,当用户点击时,它会被选中,其他同组的...
- **RadioButton** 是Android SDK中的`RadioButton`类,属于`android.widget`包,它是`ToggleButton`的一种,用于实现单选功能。 - 在布局XML文件中,我们通常使用`<RadioButton>`标签来定义它,它可以作为`...
import android.widget.RadioButton; import android.widget.RadioGroup; import android.widget.RadioGroup.OnCheckedChangeListener; import android.os.Bundle; import android.app.Activity; import android....
RadioButton是android.widget.RadioGroup中的一个子元素,它通过RadioGroup来管理其行为。首先,在XML布局文件中,我们需要创建RadioButton实例: ```xml <RadioButton android:id="@+id/radioButton1" android:...
<androidx.viewpager.widget.ViewPager android:id="@+id/view_pager" android:layout_width="match_parent" android:layout_height="0dp" android:layout_weight="1" /> <com.google.android.material.tabs....