java.lang.RuntimeException:无法启动活动ComponentInfo{}:kotlin.Kotl



我已经创建了一个DialogBoxmyDialog,并在Settings.kt活动中对其进行了初始化,尽管我使用了非null断言运算符(!!),但在初始化themeRadioGroup时会出现上述错误
我想做的是使用单选按钮(浅色或深色(更改应用程序的主题。这两个单选按钮在一个对话框中,即myDialogSettings.kt是我想更改主题的活动,所以这就是我想从myDialog访问单选组的原因。

设置.kt活动

class Settings : AppCompatActivity() {
private lateinit var themeRadioGroup : RadioGroup
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_settings)
val myDialog = Dialog(this)
myDialog.setContentView(R.layout.app_info_popup)
themeRadioGroup = myDialog.findViewById(R.id.theme_radio_group)!!

//...
}

!!获取KotlinNullPointerException的唯一方法。该异常表示您断言该项为非null是错误的。在这种情况下,这意味着在您设置的对话框布局中不存在具有该ID的视图。

也许您要查找的视图在活动布局中,在这种情况下,您应该调用this.findViewById而不是myDialog.findViewById

否则,请仔细检查对话框布局以确保它在那里。如果您有不同配置的多个版本的布局,请确保它们都有一个具有该ID的视图。

您可能需要研究视图绑定,它旨在避免此类问题。

相关内容

  • 没有找到相关文章