Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/216.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android Kotlin自定义对话框参数指定为非null_Android_Kotlin_Kotlin Android Extensions - Fatal编程技术网

Android Kotlin自定义对话框参数指定为非null

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

我得到了这个错误:

原因:java.lang.IllegalArgumentException:参数指定为 非null为null:method kotlin.jvm.internal.Intrinsics.CheckParametersNotNull,参数 savedInstanceState

当我试图在Kotlin中膨胀自定义对话框时 ,我在对话框的super.onCreate行中遇到了上面写的错误

对话框代码为:

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()
}