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>