当前位置: 首页 > news >正文

Android - RadioGroup中多个radiobutton同时被选中问题

问题描述:

动态创建radio button, 并将多个button添加到radio group中。但是实际运行时多个radiobutton会被同时选中:

代码如下:

    mRadioGroup = findViewById(R.id.radioGroup);mDevButtons = new RadioButton[device_count];for(int i=0;i<device_count;i++) {mDevButtons[i] = new RadioButton(mContext);mDevButtons[i].setText(devices[i].getDeviceInfo());if(mCurrnetDeviceName != null && devices[i].getDeviceInfo().contains(mCurrnetDeviceName)) {mDevButtons[i].setChecked(true);}final UsbHidDevice device = devices[i];mDevButtons[i].setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {mCurrnetDeviceName = device.getDeviceName();if (mCurrnetDeviceName != null) {Toast.makeText(mContext, "Selected device: " + mCurrnetDeviceName, Toast.LENGTH_SHORT).show();}}});mRadioGroup.addView(mDevButtons[i]);}

解决方法:

动态创建的radiobutton默认是没有button id的,需要主动分配button id。

mDevButtons[i].setId(View.generateViewId());

    mRadioGroup = findViewById(R.id.radioGroup);mDevButtons = new RadioButton[device_count];for(int i=0;i<device_count;i++) {mDevButtons[i] = new RadioButton(mContext);mDevButtons[i].setText(devices[i].getDeviceInfo());mDevButtons[i].setId(View.generateViewId());if(mCurrnetDeviceName != null && devices[i].getDeviceInfo().contains(mCurrnetDeviceName)) {mDevButtons[i].setChecked(true);}final UsbHidDevice device = devices[i];mDevButtons[i].setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {mCurrnetDeviceName = device.getDeviceName();if (mCurrnetDeviceName != null) {Toast.makeText(mContext, "Selected device: " + mCurrnetDeviceName, Toast.LENGTH_SHORT).show();}}});mRadioGroup.addView(mDevButtons[i]);}

解决原因:

radiogoup多个button之间互斥就是通过记录button id实现的。如果radio button没有button id,radio group无法得知具体是哪个button被选中,也就无法实现多个button互斥的功能。

相关文章:

Android - RadioGroup中多个radiobutton同时被选中问题

问题描述: 动态创建radio button, 并将多个button添加到radio group中。但是实际运行时多个radiobutton会被同时选中: 代码如下: mRadioGroup findViewById(R.id.radioGroup);mDevButtons new RadioButton[device_count];for(int i0;i<device_count;i) {mDevButtons[i] …...

如何在ElementTree文本中嵌入标签

在 ElementTree 中&#xff0c;你可以使用 Element 对象的方法来创建新的标签&#xff0c;并将其嵌入到现有的 XML 结构中。下面是一个简单的示例&#xff0c;演示了如何在 ElementTree 文本中嵌入新的标签&#xff1a; 1、问题背景 我正在使用Python ElementTree模块来处理HT…...

C语言宏定义+条件编译

1、宏定义 1.概念 C语言中的宏定义是一种预处理指令&#xff0c;它允许开发者为一段代码或值定义一个名称&#xff0c;称为宏。在编译程序时&#xff0c;预处理器会在实际编译之前对源代码进行预处理&#xff0c;将宏名称替换为其定义的内容。宏定义通常使用 #define 指令来实…...

python实现自动化测试框架如何进行数据参数化?这个包可以了解下

1.数据参数化介绍 只要你是负责编写自动化测试脚本的&#xff0c;数据参数化这个思想你就肯定会用 &#xff0c;数据参数化的工具你肯定的懂一些 &#xff0c;因为它能大大的提高我们自动化脚本编写效率 。 1.1什么是数据参数化 所谓的数据参数化 &#xff0c;是指所执行的测…...

面试题:Redis和MySql数据库如何保持数据一致性?

前提引入&#xff1a; 在高并发的场景下&#xff0c;大量的请求直接访问Mysql很容易造成性能问题。所以&#xff0c;我们都会用Redis来做数据的缓存&#xff0c;削减对数据库的请求。但是&#xff0c;Mysql和Redis是两种不同的数据库&#xff0c;如何保证不同数据库之间数据的一…...

直流遥控器 继电器8-10V应用 降压恒压SL3036电源芯片

在现代电子设备中&#xff0c;电源的稳定性和可靠性对于设备的正常运行至关重要。特别是在直流遥控器这类设备中&#xff0c;由于其需要长时间稳定运行且对电压稳定性要求较高&#xff0c;因此选择一款合适的电源芯片显得尤为重要。本文将重点介绍SL3036电源芯片在直流遥控器继…...

论文Abstract怎么写

摘要是你要写的最后一项内容 步骤 首先先通读自己的文章&#xff0c;清楚自己写的文章是研究型还是技术型&#xff0c;适合描述性的摘要还是知识性。 描述性摘要内含研究目的、目标及方向等&#xff0c;不讲研究结果。字数大约100-200字。知识性摘要则包含研究结果&#xff0c…...

PS系统教程19

渐变与照片调色 增加色彩背景新建图层选好渐变拉选图片渐变 与图层模式结合 也可以变换颜色 看起来比较自然&#xff0c;因为是与人物结合起来 也可以选择系统里面的一些色调 可以进行多次调试...

Excel函数之MAP

MAP 语法 MAP(array, [arrar2], ……, lambda(value,[value2], ……, calculation)) array:需要进行映射的数组,可以有多个 注:多个数组的形状大小尽可能保持一致,否则将出现错误值 value:数组中的每个值,每次取一个值,每个 array 按顺序对应一个 value calculation:…...

在2024年WWDC大会上,苹果宣布了其全新的“Apple Intelligence”AI功能以及ISO18功能

以下是一些主要的新增功能&#xff1a; Apple WWDC 2024开发者大会6月11日凌晨在总部Apple Park举行 1.智能照片编辑&#xff1a; 照片&#xff1a;AI驱动的照片润饰功能,可以根据用户描述生成自定义表情符号​ 2.Safari浏览助手&#xff1a; Safari&#xff1a;AI助手能够总…...

解决linux jenkins要求JDK版本与项目版本JDK不一致问题

背景–问题描述&#xff1a; 新入职公司&#xff0c;交接人说jenkins运行有问题&#xff0c;现在都是手动发布&#xff0c;具体原因让我自己看&#xff08;笑哭&#xff09;。我人都蒙了&#xff0c;测试环境都手动发布&#xff0c;那不是麻烦的要死&#xff01; 接手后&am…...

推荐一款WPF绘图插件OxyPlot

开始 使用 NuGet 包管理器添加对 OxyPlot 的引用&#xff08;如果要使用预发布包&#xff0c;请参阅下面的详细信息&#xff09;向用户界面添加PlotView在代码中创建一个PlotModel绑定到你的属性PlotModelModelPlotView 例子 您可以在代码存储库的文件夹中找到示例。/Source/Ex…...

普通表在线重定义为分区表

普通表在线转换成分区表示例 源表表结构如下&#xff1a; CREATE TABLE EDC_SEPERATOR ( SEPERATOR_ID NUMBER(15) NOT NULL, EQUIPMENTINFO NVARCHAR2(20), RECORD NVARCHAR2(50), TITLE NVARCHAR2(50), ID NVARCHAR2(50), TE…...

自动驾驶场景下TCP协议参数优化调整案例分享

RTT 往返时间&#xff0c;从tcp协议栈决定发包&#xff0c;到收到回包的时间。 包含本地驱动&#xff0c;网卡硬件&#xff0c;网线&#xff0c;交换机&#xff0c;收包方处理的耗时。需注意如果开了delayed ack&#xff0c;协议栈未做特殊处理&#xff08;默认没做&#xff…...

奇思妙想:多头RAG

大模型技术论文不断&#xff0c;每个月总会新增上千篇。本专栏精选论文重点解读&#xff0c;主题还是围绕着行业实践和工程量产。若在某个环节出现卡点&#xff0c;可以回到大模型必备腔调或者LLM背后的基础模型新阅读。而最新科技&#xff08;Mamba,xLSTM,KAN&#xff09;则提…...

H323 截包分析辅流问题

辅流问题&#xff08;h264\h264hp\h265&#xff09; 终端1 &#xff1a; 192.168.1.1 入会发送辅流 终端2 &#xff1a; 192.168.1.2 入会接收辅流 问题 &#xff1a; 终端2不显示辅流 1、筛选 h245 h225 协议 分别筛选以下IP进行查看截包内容 (h225 || h245) && …...

低成本和颜值兼顾的 HomeLab 设备:HPE MicroServer Gen10(二)

本篇文章&#xff0c;继续分享另外一台端午假期折腾的设备&#xff0c;HP MicroServer Gen10 一代。同样分享下我的折腾思路&#xff0c;希望能够帮助到有类似需求的你。 写在前面 Gen10 “标准版”&#xff08;第一代&#xff09;和 Plus 版本设计风格一致&#xff0c;同样颜…...

面试题:ArrayList和LinkedList的区别

ArrayList和LinkedList都是Java中实现List接口的集合类&#xff0c;用于存储和操作对象列表&#xff0c;但它们在内部数据结构、性能特性和适用场景上有所不同&#xff1a; 1.内部数据结构&#xff1a; ArrayList&#xff1a;基于动态数组实现。这意味着它在内存中是连续存储…...

【王树森】深度强化学习(DRL)学习笔记

目录 第一部分&#xff1a;基础知识1.机器学习基础2.蒙特卡洛估计3.强化学习基础知识3.1 马尔科夫决策过程马尔可夫决策过程&#xff08;Markov decision process&#xff0c;MDP&#xff09;智能体环境状态状态空间动作动作空间奖励状态转移状态转移概率 3.2 策略策略定义 3.3…...

LLM应用实战:当图谱问答(KBQA)集成大模型(三)

1. 背景 最近比较忙(也有点茫)&#xff0c;本qiang~想切入多模态大模型领域&#xff0c;所以一直在潜心研读中... 本次的更新内容主要是响应图谱问答集成LLM项目中反馈问题的优化总结&#xff0c;对KBQA集成LLM不熟悉的客官可以翻翻之前的文章《LLM应用实战&#xff1a;当KBQ…...

未来机器人的大脑:如何用神经网络模拟器实现更智能的决策?

编辑&#xff1a;陈萍萍的公主一点人工一点智能 未来机器人的大脑&#xff1a;如何用神经网络模拟器实现更智能的决策&#xff1f;RWM通过双自回归机制有效解决了复合误差、部分可观测性和随机动力学等关键挑战&#xff0c;在不依赖领域特定归纳偏见的条件下实现了卓越的预测准…...

VB.net复制Ntag213卡写入UID

本示例使用的发卡器&#xff1a;https://item.taobao.com/item.htm?ftt&id615391857885 一、读取旧Ntag卡的UID和数据 Private Sub Button15_Click(sender As Object, e As EventArgs) Handles Button15.Click轻松读卡技术支持:网站:Dim i, j As IntegerDim cardidhex, …...

Zustand 状态管理库:极简而强大的解决方案

Zustand 是一个轻量级、快速和可扩展的状态管理库&#xff0c;特别适合 React 应用。它以简洁的 API 和高效的性能解决了 Redux 等状态管理方案中的繁琐问题。 核心优势对比 基本使用指南 1. 创建 Store // store.js import create from zustandconst useStore create((set)…...

python/java环境配置

环境变量放一起 python&#xff1a; 1.首先下载Python Python下载地址&#xff1a;Download Python | Python.org downloads ---windows -- 64 2.安装Python 下面两个&#xff0c;然后自定义&#xff0c;全选 可以把前4个选上 3.环境配置 1&#xff09;搜高级系统设置 2…...

基于Flask实现的医疗保险欺诈识别监测模型

基于Flask实现的医疗保险欺诈识别监测模型 项目截图 项目简介 社会医疗保险是国家通过立法形式强制实施&#xff0c;由雇主和个人按一定比例缴纳保险费&#xff0c;建立社会医疗保险基金&#xff0c;支付雇员医疗费用的一种医疗保险制度&#xff0c; 它是促进社会文明和进步的…...

visual studio 2022更改主题为深色

visual studio 2022更改主题为深色 点击visual studio 上方的 工具-> 选项 在选项窗口中&#xff0c;选择 环境 -> 常规 &#xff0c;将其中的颜色主题改成深色 点击确定&#xff0c;更改完成...

解决本地部署 SmolVLM2 大语言模型运行 flash-attn 报错

出现的问题 安装 flash-attn 会一直卡在 build 那一步或者运行报错 解决办法 是因为你安装的 flash-attn 版本没有对应上&#xff0c;所以报错&#xff0c;到 https://github.com/Dao-AILab/flash-attention/releases 下载对应版本&#xff0c;cu、torch、cp 的版本一定要对…...

爬虫基础学习day2

# 爬虫设计领域 工商&#xff1a;企查查、天眼查短视频&#xff1a;抖音、快手、西瓜 ---> 飞瓜电商&#xff1a;京东、淘宝、聚美优品、亚马逊 ---> 分析店铺经营决策标题、排名航空&#xff1a;抓取所有航空公司价格 ---> 去哪儿自媒体&#xff1a;采集自媒体数据进…...

Angular微前端架构:Module Federation + ngx-build-plus (Webpack)

以下是一个完整的 Angular 微前端示例&#xff0c;其中使用的是 Module Federation 和 npx-build-plus 实现了主应用&#xff08;Shell&#xff09;与子应用&#xff08;Remote&#xff09;的集成。 &#x1f6e0;️ 项目结构 angular-mf/ ├── shell-app/ # 主应用&…...

【SSH疑难排查】轻松解决新版OpenSSH连接旧服务器的“no matching...“系列算法协商失败问题

【SSH疑难排查】轻松解决新版OpenSSH连接旧服务器的"no matching..."系列算法协商失败问题 摘要&#xff1a; 近期&#xff0c;在使用较新版本的OpenSSH客户端连接老旧SSH服务器时&#xff0c;会遇到 "no matching key exchange method found"​, "n…...