《Kotlin首个Android应用》教程:点击Random按钮应用崩溃求助
问题原因分析
崩溃的核心原因是countString.toInt()抛出了NumberFormatException——当textview_first的文本无法被解析为整数时,这个转换操作就会触发崩溃。
你提到点击Random按钮时崩溃,大概率是两种情况:要么是你此前点击过Count按钮修改了TextView文本,后续导航到第二个Fragment再返回时,Fragment恢复状态后textview_first的文本变成了非合法整数;要么是你混淆了操作按钮,实际是点击Count按钮时崩溃,但误记为Random按钮(毕竟Random按钮的点击逻辑只是导航,本身不会直接触发countMe函数)。
修复方案
有两种可靠的解决方式:
初始化TextView为合法数字
在fragment_first.xml布局文件中,将textview_first的android:text属性直接设置为"0",确保初始文本是可转换为整数的内容。添加安全转换逻辑
修改countMe函数,用安全转换替代直接强转,避免异常:private fun countMe(view: View) { val showCountTextView = view.findViewById<TextView>(R.id.textview_first) val countString = showCountTextView.text.toString() // 转换失败时默认从0开始计数 var count = countString.toIntOrNull() ?: 0 count++ showCountTextView.text = count.toString() }
内容的提问来源于stack exchange,提问作者Harry37
相关产品推荐
相关产品推荐

