Android控件之RadioButton

RadioButton和RadioGroup的关系:

1、RadioButton表示单个圆形单选框,而RadioGroup是可以容纳多个RadioButton的容器

2、每个RadioGroup中的RadioButton同时只能有一个被选中

3、不同的RadioGroup中的RadioButton互不相干,即如果组A中有一个选中了,组B中依然可以有一个被选中

4、大部分场合下,一个RadioGroup中至少有2个RadioButton

5、大部分场合下,一个RadioGroup中的RadioButton默认会有一个被选中,并建议您将它放在RadioGroup中的起始位置

 

XML布局:

 1 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 2     android:layout_width="match_parent"
 3     android:layout_height="match_parent"
 4     android:orientation="vertical">
 5 
 6     <RadioGroup
 7         android:id="@+id/group"
 8         android:layout_width="wrap_content"
 9         android:layout_height="wrap_content"
10         >
11 
12 
13         <RadioButton
14             android:id="@+id/boy"
15             android:checked="true"//设置这个RadioButton是默认选中
16             android:layout_width="wrap_content"
17             android:layout_height="wrap_content"
18             android:text="男" />
19 
20         <RadioButton
21             android:id="@+id/girl"
22             android:layout_width="wrap_content"
23             android:layout_height="wrap_content"
24             android:text="女" />
25 
26 
27     </RadioGroup>
28 
29     <TextView
30         android:id="@+id/te"
31         android:layout_width="wrap_content"
32         android:layout_height="wrap_content"
33         android:text="男"
34         />
35 
36 </LinearLayout>

 

java代码:

 1 package com.contentprovide.liuliu.radiogroup;
 2 
 3 import android.support.annotation.IdRes;
 4 import android.support.v7.app.AppCompatActivity;
 5 import android.os.Bundle;
 6 import android.widget.RadioButton;
 7 import android.widget.RadioGroup;
 8 import android.widget.TextView;
 9 
10 public class MainActivity extends AppCompatActivity {
11     RadioGroup group;
12     RadioButton check;
13     TextView te;
14 
15     RadioButton boy,girl;
16 
17     @Override
18     protected void onCreate(Bundle savedInstanceState) {
19         super.onCreate(savedInstanceState);
20         setContentView(R.layout.activity_main);
21         group = (RadioGroup) findViewById(R.id.group);
22         te = (TextView) findViewById(R.id.te);
23 
24         boy = (RadioButton) findViewById(R.id.boy);
25         girl = (RadioButton) findViewById(R.id.girl);
26 
27 
28 
29         group.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
30             @Override
31             public void onCheckedChanged(RadioGroup radioGroup, @IdRes int i) {
32 //                方法一
33 //                check = (RadioButton) findViewById(radioGroup.getCheckedRadioButtonId());
34 //                te.setText(check.getText().toString());
35 
36 //                方法二
37                 if(boy.getId()==i){
38                     te.setText(boy.getText().toString());
39                 }else if(girl.getId()==i){
40                     te.setText(girl.getText().toString());
41                 }
42 
43 
44             }
45         });
46 
47 
48     }
49 }

 

代码很少,两种方法也差不多,注意对一下id名,没有备注也比较容易看懂

 

转载于:https://www.cnblogs.com/lyd447113735/p/8242262.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值