当前位置:网站首页>android基础-RadioButton(单选按钮)
android基础-RadioButton(单选按钮)
2020-11-07 20:58:00 【ZHAO_JH】
==*在这里开始引用事件处理,需要先看博文《android基础-事件处理》==
简介
RadioButton 单选按钮放置在 RadioGroup 中使用,在后端获取布局页面选择项目数据
RadioButton 对象方法 | 释义 |
---|---|
getChildCount( ) | 获得按钮组中的单选按钮的数目; |
getChinldAt(i) | 根据索引值获取我们的单选按钮 |
isChecked( ) | 判断按钮是否选中 |
getText() | 获取值 |
activity_main.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/LinearLayout1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".MainActivity" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="请选择性别"
android:textSize="23dp"
/>
<RadioGroup
android:id="@+id/radioGroup"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal">
<RadioButton
android:id="@+id/btnMan"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="男"
android:checked="true"/>
<RadioButton
android:id="@+id/btnWoman"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="女"/>
</RadioGroup>
<Button
android:id="@+id/btnpost"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onClick="myclick"
android:text="提交"/>
</LinearLayout>
监听按钮组ID选择触发
MainActivity.java
package com.example.myapplication;
import android.app.Activity;
import android.os.Bundle;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.Toast;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
// 保存Activity的状态
super.onCreate(savedInstanceState);
// 加载视图
setContentView(R.layout.activity_main);
// 获取单选按钮组对象
RadioGroup radgroup = (RadioGroup) findViewById(R.id.radioGroup);
// 监听按钮
radgroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
// 单选按钮组对象当做参数传入,以便获取单选对象
public void onCheckedChanged(RadioGroup group, int checkedId) {
// 获取单选对象
RadioButton radbtn = (RadioButton) findViewById(checkedId);
Toast.makeText(getApplicationContext(), "按钮组值发生改变,你选了" + radbtn.getText(), Toast.LENGTH_LONG).show();
}
});
}
}
onClick 提交触发
package com.example.myapplication;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.Toast;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
// 保存Activity的状态
super.onCreate(savedInstanceState);
// 加载视图
setContentView(R.layout.activity_main);
}
public void myclick(View source)
{
// 获取单选按钮组对象
RadioGroup radgroup = (RadioGroup) findViewById(R.id.radioGroup);
// 遍历单选按钮组中对象,找到有checked属性的对象(即找到选中的对象)
for (int i = 0; i < radgroup.getChildCount(); i++) {
RadioButton rd = (RadioButton) radgroup.getChildAt(i);
if (rd.isChecked()) {
Toast.makeText(getApplicationContext(), "点击提交按钮,获取你选择的是:" + rd.getText(), Toast.LENGTH_LONG).show();
break;
}
}
}
}
版权声明
本文为[ZHAO_JH]所创,转载请带上原文链接,感谢
https://my.oschina.net/zhaojunhui/blog/4707702
边栏推荐
- Count the frequency of letters in text (case insensitive)
- use Xunit.DependencyInjection Transformation test project
- What kind of technical ability should a programmer who has worked for 1-3 years? How to improve?
- 不懂数据库索引的底层原理?那是因为你心里没点b树
- [random talk] the goal and way of software design
- 如何高效的学习技术
- Advanced concurrent programming series 9 (lock interface analysis)
- 不要把异常当做业务逻辑,这性能可能你无法承受
- CPU瞒着内存竟干出这种事
- Implementation of Caesar cipher
猜你喜欢
随机推荐
洞察——风格注意力网络(SANet)在任意风格迁移中的应用
PHP安全:变量的前世今生
Recommend suicide, openai warns: gpt-3 is too risky for medical purposes
建议患者自杀,OpenAI警告:GPT-3用于医疗目的风险太高
Annual salary of 900000 programmers is not as good as 3800 civil servants a month? How to choose between stability and high income?
技术总监7年自述——如何选择一家好公司
C language I blog assignment 03
awk实现类sql的join操作
Facebook开源框架如何简化 PyTorch 实验
大数据算法——布隆过滤器
带你深入了解 GitLab CI/CD 原理及流程
[漫谈] 软件设计的目标和途径
某618大促项目的复盘总结
计组-总线通信控制之异步串行通信的数据传输
使用 Xunit.DependencyInjection 改造测试项目
我是如何失去团队掌控的?
Kylin on Kubernetes 在 eBay 的实践
Code Review最佳实践
洞察——风格注意力网络(SANet)在任意风格迁移中的应用
C语言I博客作业03