前言:

使用RadioGroup就可以在选择情况多的时候,简化代码

RadioGroup

使用互斥选择时,会使用RadioGroup标签下面RadioButton,如下面的代码:(这样写下来,男和女的选择时垂直的,要想水平的话可以在RadioGroup中添加android:orientation="horizontal")

 <RadioGroup
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="40dp"
android:id="@+id/radiogroup">
<RadioButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/nan"
android:text="男"/>
<RadioButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/nv"
android:text="女"/>
</RadioGroup>

在Java中的代码是

 public class MainActivity extends AppCompatActivity {
private RadioGroup radiogroup;
private RadioButton nan,nv;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
nan=(RadioButton)findViewById(R.id.nan);
nv=(RadioButton)findViewById(R.id.nv);
radiogroup=(RadioGroup)findViewById(R.id.radiogroup);
radiogroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener(){
@Override
public void onCheckedChanged(RadioGroup group, int checkId) {
switch (checkId){
case R.id.nan:
Toast.makeText(MainActivity.this,"你选择的是:"+nan.getText(),Toast.LENGTH_SHORT).show();
break;
case R.id.nv:
Toast.makeText(MainActivity.this,"你选择的是:"+nv.getText(),Toast.LENGTH_SHORT).show();
break;
default:
break;
}
}
});
}
}

此时的setOnCheckedChangeListener(设置监听器)    OnCheckedChangeListener(监听器)     onCheckedChanged(抽象方法)和RadioButton中的名称一样,但是上面的哪些是在RadioGroup中的,而且onCheckedChanged(抽象方法)不同,RadioGroup下的是

 public void onCheckedChanged(RadioGroup group, int checkId) {}

RadioButton下的是

 public void onCheckedChanged(CompoundButton buttonView, boolean isChecked){}

方法的名称相同,但是参数不同

最新文章

  1. javascript 框架、根基技巧、布局、CSS、控件 JavaScript 类库
  2. go语言 hello 小结
  3. QEMU启动时插入tap虚拟网卡
  4. windows环境下nginx的启动、停止
  5. socket 发送发送HTTP请求
  6. iOS程序的完整启动过程(有storyboard)
  7. iOS Dev (20) 用 AVAudioPlayer 播放一个本地音频文件
  8. C++基础之---union联合体大小分析
  9. [Angular Tutorial] 11 -Custom Filters
  10. html网页的兼容性和css优先级
  11. input type=file的几个属性
  12. Linux记录-grafana opentsdb安装
  13. hyperledger中文文档学习-2-简介
  14. linux 安装Git详细过程
  15. VS2010编译Unigine_2010源码
  16. centos如何安装tomcat
  17. Asterisk 的安全性
  18. eclipse如何debug调试jdk源码,并显示局部变量
  19. Thinkphp 修改U方法按路由规则生成url
  20. python pip 代理设置

热门文章

  1. .net工作流设计器
  2. Navigation源码(一) move_base最全解析
  3. node.js中的事件轮询Event Loop
  4. Golang gin框架学习
  5. 「AHOI2008」紧急集合/聚会
  6. php接口安全设计浅谈
  7. 页面自动执行js的3种方法
  8. pytorch神经网络解决回归问题(非常易懂)
  9. JS数组精简的十三个技巧
  10. JS实现复制信息到剪贴板