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();
				}

			}
		});
	}

}

xml布局



    

        

        

        

        
    

效果图

Android UI控件详解-RadioGroup和RadioButton(单选框)_第1张图片


你可能感兴趣的:(Android)