让按钮点下去弹出 Toast 提示
事件的思路
上一页的按钮只是摆设,因为它不知道「被点」这件事。给控件挂上响应逻辑,靠的是事件:控件提供「被点击」这个时机,你在布局表里告诉它「被点时调用哪个函数」。
三行接上事件
第一步,在 main.lua(或布局表所在的文件)里写一个函数:
function sayHi()
print("有人点了我!")
end
第二步,给按钮加一个 onClick 属性,值写函数名:
{
Button,
text = "我是第一个按钮",
layout_width = "wrap",
onClick = sayHi,
}
运行,点按钮——看输出,「有人点了我!」出现了。按钮活了。
换成 Toast 更像「正经应用」
print 的输出只在运行层可见,真实应用弹提示用的是 Toast——屏幕下方浮出的一小条文字:
function sayHi()
Toast.makeText(activity, "有人点了我!", Toast.LENGTH_SHORT).show()
end
这行是固定的安卓套路:Toast.makeText(上下文, 内容, 时长) 造一条提示,.show() 让它弹出来。activity 是当前窗口的上下文对象,骨架代码导入的包里就有它需要的类。
这里发生了一件重要的事
回头看你刚刚完成的事:Lua 函数被挂在了安卓控件上。这是整套体系最核心的机制——Lua 写逻辑,安卓提供零件,事件是两者的接口。理解了这一点,后面所有的事件写法(长按、触摸、生命周期)都是同一件事的变奏。
玩够了 Toast,接下来学一件迟早要会的事:出错时怎么办——读报错信息。