Android UI控件详解-RadioGroup和RadioButton(单选框)

package com.bdqn.radiobutton;
 
import android.os.Bundle;
import android.app.Activity;
import android.widget.RadioGroup;
import android.widget.RadioGroup.OnCheckedChangeListener;
import android.widget.Toast;
 
/**
 * 
 * @author TXF
 * 
 * 注意:RadioButton(单选按钮)通常和RadioGroup(单选组合框)配合使用.
 *     RadioGroup是单选组合框(容器),可以容纳多个RadioButton.
 *     在没有RadioGroup的情况下,RadioButton可以全部都选中
 *     当多个RadioButton被RadioGroup包含的情况下,RadioButton只可以选择一个
 *     
 * RadioButton和RadioGroup的关系:
 * 
 * 1、RadioButton表示单个圆形单选框,而RadioGroup是可以容纳多个RadioButton的容器
 
 * 2、每个RadioGroup中的RadioButton同时只能有一个被选中
 
 * 3、不同的RadioGroup中的RadioButton互不相干,即如果组A中有一个选中了,组B中依然可以有一个被选中
 
 * 4、大部分场合下,一个RadioGroup中至少有2个RadioButton
 
 * 5、大部分场合下,一个RadioGroup中的RadioButton默认会有一个被选中,
 * 并建议将它放在RadioGroup中的起始位置
 *    
 */
public class MainActivity extends Activity {
	private RadioGroup mrg;
 
	// private RadioButton mrb1, mrb2, mrb3, mrb4;
	// private RadioButton mrb2;
	// private RadioButton mrb3;
	// private RadioButton mrb4;
 
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		mrg = (RadioGroup) findViewById(R.id.rg);
		// mrb1 = (RadioButton) findViewById(R.id.rb_1);
		// mrb2 = (RadioButton) findViewById(R.id.rb_2);
		// mrb3 = (RadioButton) findViewById(R.id.rb_3);
		// mrb4 = (RadioButton) findViewById(R.id.rb_4);
 
		// 设置监听器,单选按钮被选择监听器,注意:是RadioGroup调用的。
		mrg.setOnCheckedChangeListener(new OnCheckedChangeListener() {
 
			@Override
			public void onCheckedChanged(RadioGroup group, int checkedId) {
				if (checkedId == R.id.rb_2) {
					Toast.makeText(MainActivity.this, "恭喜,答案正确", 0).show();
				} else {
					Toast.makeText(MainActivity.this, "不好意思,答案错误", 0).show();
				}
 
			}
		});
	}
 
}
<TextView
        android:id="@+id/tv"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:text="Android是用什么语言开发的?"
        android:textSize="30sp" />
 
    <RadioGroup
        android:id="@+id/rg"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/tv" >
 
        <RadioButton
            android:id="@+id/rb_1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Python" />
 
        <RadioButton
            android:id="@+id/rb_2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="java" />
 
        <RadioButton
            android:id="@+id/rb_3"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="donet" />
 
        <RadioButton
            android:id="@+id/rb_4"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="php" />
    </RadioGroup>

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值