编程基础与事件状态 01:让按钮响应你的任务

课程首页 · 全部知识课程 · 返回专题主页

本系列第 1/8 课,建议 45–60 分钟(估算)。基础课程可零基础开始;另外两个系列建议先完成编程基础。

下载本课完成工程 .aia

这课解决什么

界面属性描述现在显示什么,事件描述什么时候执行。点击事件读取输入框,再给标签赋值;这条输入→处理→输出路径就是应用的最小业务闭环。

先预测,再运行

把任务改成“复习英语”,还没点击开始,标签会自动更新吗?

先记下自己的答案,运行起始工程与完成工程比较;答案见文末。

开始实战

从空白工程开始,按下表拖入组件;也可先导入完成工程预测行为,再回到空白工程独立搭建。

完成工程可以查看答案;独立作业请保留自己的修改。

新增或调整的组件

实例名 组件 本课配置
标签_标题 标签 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=完成记录从第六课开始保存

逐步搭建

  1. 新建工程,拖入文本输入框_任务、按钮_开始、标签_状态,给输入框设置提示。
  2. 在按钮的 Click 中先 trim 去掉两边空格;空任务显示“请填写任务”。
  3. 合法输入通过 join 拼成“开始:任务”,设给标签的 Text。
  4. 输入三个空格、正常任务分别点击,观察两条分支;在伴侣和导出的 APK 分别运行。

专注学习助手第1课运行状态布局预览

图来自本课最终工程执行积木后的状态,为 HTML 近似预览;不是手机截图。

核心积木与数据流

下面是本课完成工程中的核心代码,包含所需全局变量和过程。可在块图中追踪数值,再回到工程对照完整事件;合并到已有工程时,同名事件合并处理。

when 按钮_开始.Click() {
if trim(文本输入框_任务.Text) = "" { 标签_状态.Text = "请填写任务" }
else { 标签_状态.Text = join("开始:", trim(文本输入框_任务.Text)) }
}

中途检查与排错

本课以下控制与数据流已执行最终归档中的真实积木检查。请在伴侣或安装的 APK 中按相同场景操作,记录实际结果;自动检查通过不代表手机已实测。

  1. 拒绝空任务。
  2. 输入到标签。

排查时先确定出错的是输入、状态、数据读取还是显示;用标签暂时显示关键值,每次只改变一个条件。

本阶段尚未加入数据保存,关闭应用会丢失任务;计时器用于前台刷新,不是系统后台闹钟。

两个理解题与独立改造

  1. 把任务改成“复习英语”,还没点击开始,标签会自动更新吗?
  2. 改变输入框属性和触发点击事件分别意味着什么?

独立改造: 增加一个“清空”按钮,清除输入并显示待开始;不用复制开始事件。

先完成自己的工程,再对照答案。检查成功路径,也检查空数据、重复操作和取消;写出你改动的规则。

查看预测与练习参考答案

预测: 不会。我们只在按钮的点击事件里更新状态;输入框变动是另一个事件。

追踪: 属性是当前值,事件是执行时机;设置输入值不自动执行 Click。

改造思路: 新增 Click,只设置输入框 Text 和标签 Text。清空不等于开始,也不改变未来课程中的完成记录。

完成与下一步

保存自己的工程并导出 .aia;给文件命名以区分本课作业和参考源码。请用自己的话解释本课知识,并展示一次失败输入的处理。

下一课:把分钟变成可以计算的秒数

文档反馈