安卓CheckBox实现单选
开发工具:Android studio
jdk:1.8
安卓谷歌12
1.activity_main.xml:
首先设置一个LinearLayout,里面添加子控件然后和另一个用来显示选择结果的,最后来个button。
效果预览图:代码:
<LinearLayoutandroid:id="@+id/layout"android:layout_width="wrap_content"android:layout_height="wrap_content"android:orientation="vertical"><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text="=>选择你的性别:"android:textColor="@color/purple_200" /><CheckBoxandroid:id="@+id/man"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginLeft="20dp"android:text="男" /><CheckBoxandroid:id="@+id/woman"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginLeft="20dp"android:text="女" /><TextViewandroid:id="@+id/msg"android:layout_width="match_parent"android:layout_height="match_parent" /><Buttonandroid:id="@+id/button"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginLeft="10dp"android:text="选择" /></LinearLayout>
2.MainActivity.java
先获取每一个控件
CheckBox man, woman;
Button button;
TextView msg ;
监听选择状态的方法:
private void initView() {man = (CheckBox) findViewById(R.id.man);woman = (CheckBox) findViewById(R.id.woman);man.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {@Overridepublic void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {if (isChecked) {man.setChecked(true);woman.setChecked(false);} else {man.setChecked(false);}}});woman.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {@Overridepublic void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {if (isChecked) {woman.setChecked(true);man.setChecked(false);} else {woman.setChecked(false);}}});
onCreate:button监听获取到checkbox
initView();final LinearLayout layout = (LinearLayout) findViewById(R.id.layout);button = (Button) findViewById(R.id.button);msg = (TextView)findViewById(R.id.msg);button.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View view) {new AlertDialog.Builder(MainActivity.this).setTitle("提示信息").setMessage("确定选择?").setPositiveButton("确定", new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialogInterface, int i) {StringBuilder sex = new StringBuilder();sex.append("性别为:");if (man.isChecked()) {sex.append(man.getText().toString() + " ");} else if (woman.isChecked()) {sex.append(woman.getText().toString() + " ");} else {msg.setText("未选择性别。\n");}msg.setText(sex);}}).setNegativeButton("取消", new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialogInterface, int i) {Toast.makeText(MainActivity.this,"取消选择",Toast.LENGTH_LONG).show();}}).create().show();}});
3.MainActivity.java全代码
package edu.zut.mysqltest;import androidx.appcompat.app.AppCompatActivity;import android.app.AlertDialog;
import android.content.DialogInterface;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.LinearLayout;
import android.widget.TextView;
import android.widget.Toast;public class MainActivity extends AppCompatActivity {CheckBox man, woman;Button button;TextView msg ;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);initView();final LinearLayout layout = (LinearLayout) findViewById(R.id.layout);button = (Button) findViewById(R.id.button);msg = (TextView)findViewById(R.id.msg);button.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View view) {new AlertDialog.Builder(MainActivity.this).setTitle("提示信息").setMessage("确定选择?").setPositiveButton("确定", new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialogInterface, int i) {StringBuilder sex = new StringBuilder();sex.append("性别为:");if (man.isChecked()) {sex.append(man.getText().toString() + " ");} else if (woman.isChecked()) {sex.append(woman.getText().toString() + " ");} else {msg.setText("未选择性别。\n");}msg.setText(sex);}}).setNegativeButton("取消", new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialogInterface, int i) {Toast.makeText(MainActivity.this,"取消选择",Toast.LENGTH_LONG).show();}}).create().show();}});}private void initView() {man = (CheckBox) findViewById(R.id.man);woman = (CheckBox) findViewById(R.id.woman);//监听事件man.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {@Overridepublic void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {if (isChecked) {man.setChecked(true);woman.setChecked(false);} else {man.setChecked(false);}}});woman.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {@Overridepublic void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {if (isChecked) {woman.setChecked(true);man.setChecked(false);} else {woman.setChecked(false);}}});}
}
最后效果图:gif:
安卓CheckBox实现单选相关推荐
- Android在listview添加checkbox实现单选多选操作问题
android根据View的不同状态更换不同的背景 http://www.eoeandroid.com/thread-198029-1-1.html android 模仿朋友网推出的菜单效果[改进版] ...
- 复选框(checkbox)、单选框(radiobox)的使用
复选框(checkbox).单选框(radiobox)的使用 复选框: HTML: // 复选框 <input type="checkbox" name="chec ...
- html 单选打勾效果,checkbox 实现单选效果(html)
note:在html 标签类中的checkbox实现单选效果. 在最近的开发项目中,客户要求使用小方格子实现"单选"功能,显然圆点的radio被out了,只能选择chckbox的方 ...
- ElementUI:Checkbox实现单选,嵌套多选
官网地址:ElementUI-Checkbox 一.Checkbox 基础介绍 <template><!-- `checked` 为 true 或 false --><e ...
- CSS3重新定义input中呆若木鸡的默认复选框CheckBox和单选框Radio样式
<!DOCTYPE html> <html> <head><meta charset="UTF-8"><style>/* ...
- 多个互相有联系的checkbox的单选逻辑
checkbox单选的状态逻辑,状态好的时候一下就写好了,状态不好的时候要调试比较久,当然主要是对其中的事件不太清楚. 先给出效果图吧. 然后给出代码, selectZhiFuBaoPay.setOn ...
- jquery实现checkbox的单选和全选
一.思路 全选:判断"全选"checkbox的状态,如果选中则把tbody下所有的checkbox选中,反之 单选:主要是判断有没有全选,如果不是选中状态就把全选的checkbox ...
- jquery checkbox 实现单选
最近在用javascript的时候发现网上实现checkbox单选的代码都已经过时了. 用着几年前的代码发现根本不行了 原因是jquery api已经更改 http://api.jquery.com/ ...
- js实现表单checkbox的单选,全选
全选&单选 //<input type="checkbox" name="" class="quan" value=" ...
最新文章
- Paxos、Raft不是一致性算法/协议?
- 安装 SQL Server 商业解决方案模板
- 科大星云诗社动态20210525
- python 读取文件时报错UnicodeDecodeError: 'gbk' codec can't decode byte 0x80 in position 205: illegal multib
- spring的部分注释
- 给定一个邻接矩阵,求可达矩阵及强连通、单向连通、弱连通、不连通的判断
- matlab写实对角矩阵,Matlab对角矩阵
- 计算机ms高级应用科目一 科目二考什么,驾考提前知 | 科目一、科目二、科目三、科目四都考什么?...
- 2.4G无线音频双向传输技术运用
- H3C的l2tp报错
- 贵州省正安县格林镇:“爱心妈妈”来了!
- apriori算法的简介和改进总结
- python自己做课程表_Kivy做一个课程表App(上)
- (IT段子)关于统一风格——使用ESLint+Prettier来统一前端代码风格
- table动态修改表格内容
- Toshiba TC358743XBG HDMI接口转IC
- 魔兽地图编辑器插件YDWE的使用与基本设置3之地形面板、装饰物面板、单位面板、区域面板、镜头面板
- day08Java-继承
- NAntpad 不免费了
- EditText中灰色文字提示
热门文章
- containers文件夹可以删除吗_电脑进行C盘清理,appdata文件夹可以删除吗?
- go mysql存储过程_Golang 调用MySQL存储过程
- html不居中代码,HTML – 为什么我不能居中div?
- 动态让控件超出屏幕_JAVA浏览器控件JxBrowser v7.5上线!更轻松处理Dynamic Favicons...
- c语言计算机二级考试内容,2017计算机二级考试内容C语言
- php 输出答案,php 如何只输出最后生成的那个值??
- arm oe linux gnueabi 系统,【技术分享】Quectel 4G模块Opencpu中实现高通wifi功能
- 计算机教学中因才施教,浅析高校《大学计算机基础》教学中的因材施教
- python的mag模块_Python全栈-magedu-2018-笔记22
- appscan无法连接到服务器_对于csgo无法连接到任意服务器解决办法