EXCEÇÃO FATAL: main KotlinNullPointerException

Esta é a minha primeira vez criando um aplicativo Android. No entanto, quando executo o aplicativo no meu dispositivo virtual, ele parou de funcionar e continua travando. O erro diz algo sobre a exceção de ponteiro nulo. Esta é a minha primeira vez usando Kotlin e eu codifiquei em Java e mudei para Kotlin.

 override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContentView(R.layout.activity_add_sales)

    val date: EditText? = null
    val changeDate: CheckBox? = null
    val yes: RadioButton? = null
    val no: RadioButton? = null

    date!!.setText("15-11-2017")
    date.isEnabled = false

    val button2 = findViewById<View>(R.id.btnSubmit) as Button
    button2.setOnClickListener {
        var name = findViewById<View>(R.id.name) as EditText
        var cost = findViewById<View>(R.id.cost) as EditText
        val itemcost = Integer.parseInt(cost!!.text.toString())
        var price = findViewById<View>(R.id.price) as EditText
        val itemprice = Integer.parseInt(price!!.text.toString())
        var qty = findViewById<View>(R.id.quantity) as EditText
        var chgDate = false
        var discount = false
        val toast = Toast(applicationContext)
        if (itemprice < itemcost) {
            price!!.error = "Selling price cannot be lower than item price!"
        } else {
            if (changeDate!!.isChecked) {
                chgDate = true
                date.isEnabled = true
            }
            if (yes!!.isChecked) {
                discount = true
            }
        }
        Toast.makeText(this@AddSales, "Item Name: " + name!!.text + "\n" + "Cost: " + cost!!.text + "\n" + "Item Price: " + price!!.text + "\n" + "Quantity: " + qty!!.text + "Date: " + date + "Staff Discount: " + discount, Toast.LENGTH_SHORT).show()
    }

}

e o erro é:

11-17 06: 23: 34.603 3540-3540 / com.example.ruiru.salestracker E / AndroidRuntime: FATAL EXCEPTION: main Processo: com.example.ruiru.salestracker, PID: 3540 java.lang.RuntimeException: Não foi possível iniciar a atividade ComponentInfo {com.example.ruiru.salestracker / com.example.ruiru.salestracker.AddSales}: kotlin.KotlinNullPointerException em android.app.ActivityThread.performLaunchActivity (ActivityThread.java:2817) em android.app.ActivityThread.handleLaunchivity. java: 2892) em android.app.ActivityThread.-wrap11 (fonte desconhecida: 0) em android.app.ActivityThread $ H.handleMessage (ActivityThread.java:1593) em android.os.Handler.dispatchMessage (Handler.java:105 ) em android.os.Looper.loop (Looper.java:164) em android.app.ActivityThread.main (ActivityThread.java:6541) em java.lang.reflect.Method.invoke (método nativo) em com.android. internal.os.Zygote $ MethodAndArgsCaller.run (Zygote.java:240) em com.android.internal.os.ZygoteInit.main (ZygoteInit.java:767) Causado por: kotlin.KotlinNullPointerExceptio n em com.example.ruiru.salestracker.AddSales.onCreate (AddSales.kt: 25) em android.app.Activity.performCreate (Activity.java:6975) em android.app.Instrumentation.callActivityOnCreate (Instrumentation.java:1213) em android.app.ActivityThread.performLaunchActivity (ActivityThread.java:2770) em android.app.ActivityThread.handleLaunchActivity (ActivityThread.java:2892) em android.app.ActivityThread.-wrap11 (Fonte desconhecida: 0) em android.app. ActivityThread $ H.handleMessage (ActivityThread.java:1593) em android.os.Handler.dispatchMessage (Handler.java:105) em android.os.Looper.loop (Looper.java:164) em android.app.ActivityThread.main (ActivityThread.java:6541) em java.lang.reflect.Method.invoke (método nativo) em com.android.internal.os.Zygote $ MethodAndArgsCaller.run (Zygote.java:240) em com.android.internal.os .ZygoteInit.main (ZygoteInit.java:767)

questionAnswers(3)

yourAnswerToTheQuestion