本系列第 1/8 课,建议 45–60 分钟(估算)。基础课程可零基础开始;另外两个系列建议先完成编程基础。
这课解决什么
界面属性描述现在显示什么,事件描述什么时候执行。点击事件读取输入框,再给标签赋值;这条输入→处理→输出路径就是应用的最小业务闭环。
先预测,再运行
把任务改成“复习英语”,还没点击开始,标签会自动更新吗?
先记下自己的答案,运行起始工程与完成工程比较;答案见文末。
开始实战
从空白工程开始,按下表拖入组件;也可先导入完成工程预测行为,再回到空白工程独立搭建。
完成工程可以查看答案;独立作业请保留自己的修改。
新增或调整的组件
| 实例名 | 组件 | 本课配置 |
|---|---|---|
标签_标题 |
标签 | Width=Fill parent;FontSize=24;TextColor=#183153;Text=专注学习 · 第 1课 |
标签_知识 |
标签 | Width=Fill parent;FontSize=16;TextColor=#183153;Text=事件 → 时间 → 状态 → 保存 → 改造 |
文本输入框_任务 |
文本输入框 | Hint=这次专注做什么?;Width=Fill parent;FontSize=16;Text=阅读一章 |
标签_状态 |
标签 | Width=Fill parent;FontSize=16;TextColor=#183153;Text=待开始 |
按钮_开始 |
按钮 | Width=Fill parent;BackgroundColor=#2563EB;TextColor=#FFFFFF;FontSize=16;Text=开始 |
标签_记录 |
标签 | Width=Fill parent;FontSize=16;TextColor=#183153;Text=完成记录从第六课开始保存 |
逐步搭建
- 新建工程,拖入文本输入框_任务、按钮_开始、标签_状态,给输入框设置提示。
- 在按钮的 Click 中先 trim 去掉两边空格;空任务显示“请填写任务”。
- 合法输入通过 join 拼成“开始:任务”,设给标签的 Text。
- 输入三个空格、正常任务分别点击,观察两条分支;在伴侣和导出的 APK 分别运行。

图来自本课最终工程执行积木后的状态,为 HTML 近似预览;不是手机截图。
核心积木与数据流
下面是本课完成工程中的核心代码,包含所需全局变量和过程。可在块图中追踪数值,再回到工程对照完整事件;合并到已有工程时,同名事件合并处理。
when 按钮_开始.Click() {
if trim(文本输入框_任务.Text) = "" { 标签_状态.Text = "请填写任务" }
else { 标签_状态.Text = join("开始:", trim(文本输入框_任务.Text)) }
}
中途检查与排错
本课以下控制与数据流已执行最终归档中的真实积木检查。请在伴侣或安装的 APK 中按相同场景操作,记录实际结果;自动检查通过不代表手机已实测。
- 拒绝空任务。
- 输入到标签。
排查时先确定出错的是输入、状态、数据读取还是显示;用标签暂时显示关键值,每次只改变一个条件。
本阶段尚未加入数据保存,关闭应用会丢失任务;计时器用于前台刷新,不是系统后台闹钟。
两个理解题与独立改造
- 把任务改成“复习英语”,还没点击开始,标签会自动更新吗?
- 改变输入框属性和触发点击事件分别意味着什么?
独立改造: 增加一个“清空”按钮,清除输入并显示待开始;不用复制开始事件。
先完成自己的工程,再对照答案。检查成功路径,也检查空数据、重复操作和取消;写出你改动的规则。
查看预测与练习参考答案
预测: 不会。我们只在按钮的点击事件里更新状态;输入框变动是另一个事件。
追踪: 属性是当前值,事件是执行时机;设置输入值不自动执行 Click。
改造思路: 新增 Click,只设置输入框 Text 和标签 Text。清空不等于开始,也不改变未来课程中的完成记录。
完成与下一步
保存自己的工程并导出 .aia;给文件命名以区分本课作业和参考源码。请用自己的话解释本课知识,并展示一次失败输入的处理。
扫码添加客服咨询