这是我在RadioGroup中生成的代码。
main_rdg_check.setOnCheckedChangeListener { radioGroup, i ->
when (i) {
R.id.rdb_main_mainCheck -> {
Log.d("MainClass", "mainGrp")
}
R.id.rdb_main_sub_01_Check -> {
Log.d("MainClass", "sub_01_Grp")
main_intent = Intent(this, SubActivity_01::class.java)
}
R.id.rdb_main_sub_02_Check -> {
Log.d("MainClass", "sub_02_Grp")
main_intent = Intent(this, SubActivity_02::class.java)
}
}
} // radio GRP我想检查按钮操作中的class。但它不起作用。
如何区分每个类?(MainActivity、SubActivity_01、SubActivity_02)
main_send_buttton.setOnClickListener {
Log.d("MainClass", "mainButton")
when (main_intent) {
MainActivity::class.java -> {
Log.d("MainClass", "MainActivity")
}
SubActivity_01::class.java -> {
Log.d("MainClass", "SubActivity_01")
}
SubActivity_02::class.java -> {
Log.d("MainClass", "SubActivity_02")
}
}
}发布于 2020-12-06 01:46:14
您的问题是,when()中的变量是Intent类型的变量,而您提供的所有case都是类类型。它们是完全不同的东西,当然永远不会匹配。
您可以使用integer来区分不同的情况,如0、1、2。
https://stackoverflow.com/questions/65156522
复制相似问题