
摘要: 性别、支付方式、单选题——只能选一个的场景太多了。App Inventor 原来只有复选框,想做单选得自己写互斥逻辑。现在有了「单选框」组件:选项用逗号一填,点一个其它自动取消。
以前做个「男 / 女 / 保密」,得放三个复选框,然后在每个复选框的「状态被改变」事件里,把另外两个的「选中」设为假。三个选项三个事件,五个选项就五个事件,加一个选项要改一圈。
「单选框」一个组件全包了。它在「用户界面」类里,用法跟下拉框很像:
男,女,保密;用户点选后触发「选择完成时」事件,选中的文字在参数里。

▲ 横向排列的单选项(示意图)
拖一个单选框,「元素字串」填 男,女,保密,勾选横向排列;再拖一个按钮(改名 按钮提交)、一个标签(改名 标签结果):

▲ 性别选择,提交前检查是否选了
重点在提交时的判断:单选框默认一项都不选,这时「选中项索引」是 0。提交前一定要查一下,不然用户什么都没选也提交上去了。
一份问卷有几道单选题,就放几个单选框,各管各的选项,互不干扰。

▲ 几道单选题就放几个单选框(示意图)
选项是动态的(比如从服务器拿来的配送方式),就在代码里设,顺便给个默认选中:

▲ 代码里设置选项和默认选中
序号从 1 开始,设成 1 就是默认选第一项。注意:代码里设置选中项不会触发「选择完成时」,只有用户点选才会。

▲ 代码里设置选项和默认值(示意图)
名称 | 说明 |
|---|---|
元素字串 | 逗号分隔的选项文字,如 男,女 |
元素列表 | 选项列表,代码里动态设置用它 |
选中项 | 选中的文字;没选时为空文本 |
选中项索引 | 从 1 开始;没选时为 0 |
横向排列 | 选项排成一行;默认竖向一行一个 |
字体大小 / 文本颜色 / 启用 | 外观与是否可点 |
提交到服务器时,别把「选中项」的文字当成固定编号存。哪天你把「加急配送」改名成「次日达」,旧数据就对不上了。需要稳定编号就存「选中项索引」,或者自己维护一张对照表。
安卓和鸿蒙都支持。文档站搜「单选框使用指导」,有完整案例和可导入的 .aia 源码。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。