You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何避免重复执行相同操作?Android Toast重复触发优化需求

解决短时间内重复触发Toast的问题

要实现短时间内连续输入特定词汇仅弹出一次Toast的功能,你需要添加一个变量记录上次显示Toast的时间,通过判断时间间隔来控制Toast的触发:

  1. 在你的类中声明全局变量,用于存储上次Toast的显示时间和设定时间阈值:
private long lastToastTime = 0;
// 设定时间阈值,单位毫秒,这里设为1000ms(1秒),可根据需求调整
private static final long TOAST_INTERVAL = 1000;
  1. 修改原有的判断逻辑,加入时间间隔校验:
if (string.equals("help")) {
    long currentTime = System.currentTimeMillis();
    // 检查当前时间与上次Toast时间的间隔是否超过设定阈值
    if (currentTime - lastToastTime > TOAST_INTERVAL) {
        Toast.makeText(getApplicationContext(), "we are here to help", Toast.LENGTH_SHORT).show();
        // 更新上次Toast时间为当前时间
        lastToastTime = currentTime;
    }
}

逻辑说明

  • lastToastTime 记录最后一次显示Toast的时间戳,初始值为0
  • TOAST_INTERVAL 是你设定的“冷却时间”,在这个时间内重复输入"help"不会触发新的Toast
  • 每次输入匹配时,先计算当前时间与上次Toast时间的差值,只有差值大于阈值时才会显示Toast并更新时间记录

内容的提问来源于stack exchange,提问作者shohel hossain

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 16:12:30