当前位置:网站首页>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
边栏推荐
猜你喜欢

Summary of the resumption of a 618 promotion project

【原创】ARM平台内存和cache对xenomai实时性的影响

If you want to forget the WiFi network you used to connect to your Mac, try this!

C语言I博客作业03

What do you think of the most controversial programming ideas?

工作1-3年的程序员,应该具备怎么样的技术能力?该如何提升?

Advanced concurrent programming series 9 (lock interface analysis)

Count the frequency of letters in text (case insensitive)

Business facade and business rule

Mac新手必备小技巧
随机推荐
When tidb and Flink are combined: efficient and easy to use real-time data warehouse
Adobe media encoder /Me 2021软件安装包(附安装教程)
Improvement of maintenance mode of laravel8 update
static+代码块+多态+异常
快速上手Git
Annual salary of 900000 programmers is not as good as 3800 civil servants a month? How to choose between stability and high income?
聊一聊数据库中的锁
If you want to forget the WiFi network you used to connect to your Mac, try this!
微服务的出现和意义的探索
如何高效的学习技术
Vscode configuration
洞察——风格注意力网络(SANet)在任意风格迁移中的应用
graph generation model
laravel8更新之维护模式改进
一次公交卡被“盗刷”事件带来的思考
C语言Ⅰ博客作业03
DOM node operation
Implementation of Caesar cipher
Adobe Lightroom /Lr 2021软件安装包(附安装教程)
chrome浏览器跨域Cookie的SameSite问题导致访问iframe内嵌页面异常