Android中点击按钮修改变量时因输入非数字致应用崩溃问题
问题分析与修复方案
崩溃原因
崩溃日志里的java.lang.NumberFormatException: For input string: "o"已经明确问题:你试图把输入的字符串"o"转换成整数,但"o"不是有效的数字格式,Integer.parseInt()方法无法处理非数字字符串,直接抛出异常导致应用崩溃。
修复代码
你的需求是判断输入是否为"o",根本不需要转换成整数,直接比较字符串即可,同时建议处理输入为空的情况,避免潜在问题:
enterbutton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { String input = edtx.getText().toString().trim(); // 直接比较字符串是否为"o" if ("o".equals(input)) { flag = 1; } else { flag = 0; } } });
额外说明
- 使用
trim()是为了过滤输入前后的空格,避免用户不小心输入空格导致判断错误 - 用
"o".equals(input)而非input.equals("o"),可以避免input为空时抛出空指针异常
内容的提问来源于stack exchange,提问作者Sumita Das
相关产品推荐
相关产品推荐

