затем установите значение даты
ой первый раз, когда я создаю приложение для Android. Однако, когда я запускаю приложение на моем виртуальном устройстве, оно перестало работать и продолжает падать. Ошибка говорит что-то об исключении нулевого указателя. Я впервые использую Kotlin, я написал код на Java и перешел на 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()
}
}
и ошибка:
11-17 06: 23: 34.603 3540-3540 / com.example.ruiru.salestracker E / AndroidRuntime: ОСНОВНОЕ ИСКЛЮЧЕНИЕ: основной Процесс: com.example.ruiru.salestracker, PID: 3540 java.lang.RuntimeException: Невозможно запустить действие ComponentInfo {com.example.ruiru.salestracker / com.example.ruiru.salestracker.AddSales}: kotlin.KotlinNullPointerException в android.app.ActivityThread.performLaunchActivity (ActivityThread.java:2817) в android.app.ActivityThread.handleLaunchActivity. Java: 2892) на android.app.ActivityThread.-wrap11 (неизвестный источник: 0) на android.app.ActivityThread $ H.handleMessage (ActivityThread.java:1593) на android.os.Handler.dispatchMessage (Handler.java:105) ) в android.os.Looper.loop (Looper.java:164) в android.app.ActivityThread.main (ActivityThread.java:6541) в java.lang.reflect.Method.invoke (собственный метод) в com.android. internal.os.Zygote $ MethodAndArgsCaller.run (Zygote.java:240) в com.android.internal.os.ZygoteInit.main (ZygoteInit.java:767) Вызывается: kotlin.KotlinNullPointerExceptio n на com.example.ruiru.salestracker.AddSales.onCreate (AddSales.kt: 25) на android.app.Activity.performCreate (Activity.java:6975) на android.app.Instrumentation.callActivityOnCreate (Instrumentation.java:1213) на android.app.ActivityThread.performLaunchActivity (ActivityThread.java:2770) на android.app.ActivityThread.handleLaunchActivity (ActivityThread.java:2892) на android.app.ActivityThread.-wrap11 (неизвестный источник: 0) на android.app. ActivityThread $ H.handleMessage (ActivityThread.java:1593) на android.os.Handler.dispatchMessage (Handler.java:105) на android.os.Looper.loop (Looper.java:164) на android.app.ActivityThread.main (ActivityThread.java:6541) на java.lang.reflect.Method.invoke (собственный метод) на com.android.internal.os.Zygote $ MethodAndArgsCaller.run (Zygote.java:240) на com.android.internal.os .ZygoteInit.main (ZygoteInit.java:767)