栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

lateinit property mCustomListDialog has not been initialized

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

lateinit property mCustomListDialog has not been initialized

问题: 

 kotlin.UninitializedPropertyAccessException: lateinit property mCustomListDialog has not been initialized
        at com.example.mykotlin1.AddUpdateDishActivity.selectedListItem(AddUpdateDishActivity.kt:249)
        at com.example.mykotlin1.adapters.CustomListItemAdapter.onBindViewHolder$lambda-0(CustomListItemAdapter.kt:30)
        at com.example.mykotlin1.adapters.CustomListItemAdapter.$r8$lambda$jZJdJvCwr8ZMD2lZuYRXxbKE26s(Unknown Source:0)
        at com.example.mykotlin1.adapters.CustomListItemAdapter$$ExternalSyntheticLambda0.onClick(Unknown Source:4)
        at android.view.View.performClick(View.java:7448)
        at android.view.View.performClickInternal(View.java:7425)
        at android.view.View.access$3600(View.java:810)
        at android.view.View$PerformClick.run(View.java:28305)
        at android.os.Handler.handleCallback(Handler.java:938)
        at android.os.Handler.dispatchMessage(Handler.java:99)
        at android.os.Looper.loop(Looper.java:223)

原因:

1、未初始化

2、关闭该对象,或对象为null后再次调用

3、在赋值时前面添加var修饰符

解决办法:

定义该成员变量

 private lateinit var mCustomListDialog: Dialog

1、初始化:

 mCustomListDialog =  Dialog(this)

 注:如果初始化时使用了var定义变量,则会报错,如如下的代码会报错

 var mCustomListDialog =  Dialog(this)

2、检查代码看是否重复调用,即当该对象已经不存在,已为null,但是还是调用

如第一次调用该代码不会报错

  mCustomListDialog.dismiss()

调用该对象一次,如果再次调用如下代码,则会报错

  mCustomListDialog.dismiss()

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/863344.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号