以上是报错信息:
首先是第一个出错地址:只是在文本框的值被改变后,把String转化成double类型。代码是无误的。分析原因:那么说明接收的时候是空值,必然不能转换成double.
接着找到第二个出错地址:当变量<12的时候会Toast提示,并把文本框清空(设为空值)。
分析原因:这下恍然大悟,之前在EditText中只要输入12就会出现本文中的错误(并没有按照代码逻辑会有toast提示弹出)
现在改为输入13则bug消失。
最后总结:由于我在文本框条件的时候,是配套使用的焦点监听和文本改变监听器,代码前部分是在焦点监听中判断条件、控制用户输入,代码后部分文本改变监听器中进行传值、数值转换。
我暂且可以认为代码逻辑是无误的。
焦点监听器中:当输入数值为12,则不满足条件,(应该要弹出Toast但是并没有),接着EditText的Text文本被设定为空字符串。
文本改变监听器中:用变量beed获取EditText中的字符串值(由于是空值),此时即出现本文中的报错信息。
(本人新手,实习一月,越来越觉得学习Debug和看logcat信息确实是非常重要,期待自己能有更多收获。)
(文中纯属个人观点,欢迎大神老鸟们批评指正,虽然问题解决了,不过Toast没有弹出,我仍然不理解)
时间: 2024-10-14 08:37:02