我是一个编程新手,刚开始在Android Studio中用Kotlin编写代码。我正在尝试构建一个简单的“检查数字是偶数还是奇数”应用程序,但我不确定我错在哪里。
当我在模拟器上启动应用程序时,它会立即崩溃。
class MainActivity : AppCompatActivity() {
private lateinit var enternumber : EditText
private lateinit var button: Button
private lateinit var output: TextView
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
enternumber = findViewById(R.id.et_number)
button = findViewById(R.id.btn_click)
output = findViewById(R.id.tv_output)
val enternum: Int = enternumber.text.toString().toInt()
button.setOnClickListener {
if (enternum % 2 == 0)
output.text = ("Number is even")
else
output.text = ("Number is odd")
}
}
}
任何帮助都是非常感谢的。
2条答案
按热度按时间qjp7pelc1#
首先,学习使用logcat来获取对问题诊断有用的异常堆栈跟踪。Unfortunately MyApp has stopped. How can I solve this?
这里有一个问题是显而易见的。
在
onCreate()
阶段,edittext中没有内容,toInt()
肯定会失败。单击时可能会有一个数字。9lowa7mx2#
您的应用程序不断崩溃的原因是:瓦尔输入:Int =输入数字.文本.toString().toInt()
必须创建两个数值,一个显示为String,另一个在if语句中用作Int,并与String组合。
下面是一些代码,它们可以完成你要做的事情。我把它们放在一个函数中,只是为了让它更可读:
}