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

Android开发中Toast.makeText().show()调用后未弹出通知问题排查

问题原因
  • 核心问题是按钮2的初始状态标记isClicked2赋值和实际XML中配置的初始背景图不匹配,导致状态判断逻辑完全错位:
    1. 代码逻辑约定:isClicked/isClicked2为false时按钮对应显示imageFileName,为true时对应显示imageFileName2
    2. XML布局中按钮2的初始背景配置为imageFileName2,但代码里给isClicked2的默认值设为了false,和实际显示状态完全相反
    3. 这就导致你肉眼看到两张图一致时,两个状态布尔值反而不相等,Toast的触发条件永远无法满足
  • 额外排查点:如果修改状态初始值后Toast仍不显示,可检查虚拟设备的应用通知权限是否开启,部分安卓系统版本默认禁用普通应用的Toast类通知
修复方案

将MainActivity.java中isClicked2的初始值改为true即可,修改后的变量声明部分如下:

//variable for toggling state
boolean isClicked = false;
boolean isClicked2 = true; // 初始值改为true,和XML中按钮2的初始背景匹配
验证逻辑

修改后触发逻辑和实际显示效果完全对应:

  • 两个布尔值都为false:两张图均为imageFileName,触发Toast
  • 两个布尔值都为true:两张图均为imageFileName2,触发Toast
  • 布尔值不等时:两张图不一致,不触发Toast

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 02:06:03