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

Android开发:点击按钮获取字符ASCII值时App闪退原因咨询

闪退根本原因

初始代码闪退的核心问题是变量取值时机错误,触发了运行时异常:

  • String sipla=edittext.getText().toString();写在onCreate方法中时,执行时机是Activity完成布局加载、尚未对用户展示可交互界面的阶段。此时用户还没来得及在输入框输入任何内容,sipla获取到的是长度为0的空字符串。
  • 点击转换按钮时,回调里的sipla.charAt(0)会尝试读取空字符串索引为0的字符,空字符串不存在该索引位,会直接抛出StringIndexOutOfBoundsException(字符串索引越界异常),这就是应用直接闪退的直接原因。
调整位置后正常运行的逻辑

把取值语句移动到按钮点击回调内部后,获取输入内容的操作会在用户实际点击按钮的瞬间执行,此时用户已经完成输入,sipla可以拿到用户输入的实际内容,只要输入不为空,charAt(0)就能正常取到首个字符并转换为对应ASCII值,不会触发越界崩溃。

优化建议:即使把取值逻辑放在点击回调内,也建议先判断输入内容长度,比如输入为空时弹出“请输入字符”的提示,避免用户不输入内容直接点按钮时再次触发相同的越界闪退。

内容的提问来源于stack exchange,提问作者Yash Raj Mishra

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.27 06:06:28