Android Kotlin自定义对话框参数指定为非null
我得到了这个错误: 原因:java.lang.IllegalArgumentException:参数指定为 非null为null:method kotlin.jvm.internal.Intrinsics.CheckParametersNotNull,参数 savedInstanceState 当我试图在Kotlin中膨胀自定义对话框时 ,我在对话框的super.onCreate行中遇到了上面写的错误 对话框代码为:Android Kotlin自定义对话框参数指定为非null,android,kotlin,kotlin-android-extensions,Android,Kotlin,Kotlin Android Extensions,我得到了这个错误: 原因:java.lang.IllegalArgumentException:参数指定为 非null为null:method kotlin.jvm.internal.Intrinsics.CheckParametersNotNull,参数 savedInstanceState 当我试图在Kotlin中膨胀自定义对话框时 ,我在对话框的super.onCreate行中遇到了上面写的错误 对话框代码为: class Custom_Dialog_Exit_App(var activi
class Custom_Dialog_Exit_App(var activity: Activity)// TODO Auto-generated constructor stub
: Dialog(activity, R.style.full_screen_dialog) {
override fun onCreate(savedInstanceState: Bundle) {
super.onCreate(savedInstanceState)
requestWindowFeature(Window.FEATURE_NO_TITLE)
setContentView(R.layout.custom_dialog_exit_app)
activity.window!!.setLayout(WindowManager.LayoutParams.MATCH_PARENT,
WindowManager.LayoutParams.MATCH_PARENT)
initView()
}
fun initView() {
initClicks()
}
fun initClicks() {
}
}
初始值是:
val omer = Custom_Dialog_Exit_App(this@MainActivity)
omer.show()
请帮助
重写乐趣onCreate(savedInstanceState:Bundle){
由于savedInstanceState
可以是null
类型必须是Bundle?
当您指定一个参数不为null时,kotlin在所有情况下都会生成一个检查。这包括在实现Java接口时,因此您需要小心将可为null的参数设置为非null。更改此行
activity.window!!.setLayout(WindowManager.LayoutParams.MATCH_PARENT,
WindowManager.LayoutParams.MATCH_PARENT)
到
我也遇到了错误,我将类型
Bundle
更改为Bundle?”
。然后它对我有效。在Kotlin中,您必须指定变量/参数是否为null
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
init()
}
它仍然在崩溃:/ty你这么多!!你救了我一天。谢谢!Android Studio中内置的Java到Kotlin转换器将其转换为一个不可为null的包,这很有效。
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
init()
}